Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Menu w php
Forum PHP.pl > Forum > Przedszkole
t0mecki
Witam mam strone na ktorej jest duzo linkow w menu i duzo podstron. Na kazdej podstronie jest to samo menu. I tu moje pytanie jak najlepiej (i łatwo) to zrobić? Mam nadzieje, ze wiecie o co mi chodzi. Jestem poczatkujacy.
tiraeth
najlepiej to menu umiesc w pliku jakims i potem include" title="Zobacz w manualu PHP" target="_manual()
t0mecki
Nom tez tak myslalem jak zrobie include na stronie to bedzie to przyjazne dla wyszukiwarek? Bo to nie bedzie jak iframe a jakby to bylo przez caly czas na stronie? Wszystkie strony bede musial miec zapisane w .php? Możesz podac przyklad jak zrobic ten plik do include?
Coyote
zrob normalnie stronke w zwyklych tabelkach ... a uzyj funkcji switch() dla strodka strony
t0mecki
Jestem bardzo początkujący jak użyć tej funkcji switch? jaka musi być budowa linków?
hmmm
@t0mecki - wszystkie pliki bede musialy miec rozszerzenie w php.
a robisz to w ten sposob:
1. tworzysz nowy plik, w ktorym umieszczasz sam kod php i zapisujesz go z rozszerzeniem *.php lub *.inc.
2. potem na kazdej stronie, na ktorej ma sie pojawic menu, w jego miejsce dajesz cos takiego:
  1. <?php
  2. include('katalog/plik.inc');
  3. ?>
po prostu w nawiasach podajesz sciezke pliku zawierajacego menu.

jezeli natomiast switch(), to sprawa wyglada troche inaczej.
masz strone, w ktorej bedziesz zmienial np. tylko tresc w srodku.
robisz wtedy:
1. w menu dopisujesz do linkow ?link=nazwa, np.
  1. <a href="index.php?link=home">home</a><br />
  2. <a href="index.php?link=book">ksiega gosci</a><br />
  3. <!-- i tak dalej -->
2. w miejscu, gdzie ma sie zmieniac tresc dajesz kod:
  1. <?php
  2. //najpierw musisz sprawdzic, czy zmienna zostala przeslana
  3. //jezeli tak, to wykonaj
  4. if (isset($_GET['link'])) {
  5.  
  6. //sprawdzasz wartosc przeslanej zmiennej
  7. switch ($_GET['link']) {
  8. //jezeli ma wartosc 'home'
  9. case 'home':
  10. include('home.inc');
  11. break;
  12. //jezeli ma wartosc 'book'
  13. case 'book':
  14. include('book.inc');
  15. break;
  16. //i tak dalej
  17. //nalezy tez dodac wartosc domyslna
  18. default:
  19. echo 'blad na stronie';
  20. break;
  21. }
  22.  
  23. //jezeli zmienna nie zostala przeslana
  24. } else {
  25. echo 'blad na stronie.';
  26. }
  27. ?>

stosujesz albo to, albo to winksmiley.jpg
t0mecki
No to robie include. W tym pliku .php, w ktorym bedzie menu robie tylko linki:
  1. <a href="aaa.php">aaa</a>
  2. <a href="bbb.php">bbb</a>

Czy jakoś inaczej?
Ociu
Krótszy sposób Pana hmmm
  1. <a href="index.php?link=home">home</a><br />
  2. <a href="index.php?link=book">ksiega gosci</a><br />
  3. <!-- i tak dalej -->


kod php:
  1. <?php
  2.  
  3. if(isset($_GET['link']))
  4. {
  5.  include($_GET['link'].'inc');
  6. } else {
  7. print 'ERROR 404: Dana strona nie istnieje';
  8. }
  9.  
  10. ?>


Tyle, że tu link dostrony musi mieć taki samą nazwę jak nazwa plikum czyli:
plik: book.inc, to link index.php?link=book
costam.inc , link: index.php?link=costam

pzodrawiam
hmmm
nie pomyslalem tongue.gif

jezeli jednak w naglowku chcialbym przeslac jeszcze jedna zmienna okreslajaca np. numer strony w ksiedze gosci do wyswietlenia, to wtedy chyba jednak podana metoda jest zla.

@t0mecki spawdz najpierw sam, potem pytaj winksmiley.jpg
no ale tak, w tym pliku robisz tylko linki.
t0mecki
Dzieki za wszystka pomoc, jak bede mial jeszcze jakies pytania/problemy to napisze
Ociu
Cytat(hmmm @ 2005-02-20 19:23:54)
jezeli jednak w naglowku chcialbym przeslac jeszcze jedna zmienna okreslajaca np. numer strony w ksiedze gosci do wyswietlenia, to wtedy chyba jednak podana metoda jest zla.

Narazie nie rozpatrujemy takiej sytuacji smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.