Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] layout i wczytywanie za pomoca zmiennych
Forum PHP.pl > Forum > Przedszkole
lnn
Witam!

Mam pytanie jak wykonac mniej wiecej cos takiego, chcialbym zeby kazda kolejna podstrona byla otwierana za pomoca zmiennej np. index.php?page=podstrona1 itp..

Jednakże chciałbym żeby za kazdym razem top był ten sam, a tresc ponizej inna.. I domyslnie gdyby ktos wpisal sam index.php zeby wczytywalo strone glowna czyli index.php == index.php?page=main

Mam taki pomysł, żeby utworzyc taki skrypt ktory bedzie wyciagal strone za pomoca require, i bedzie tam warunek ze jesli page == empty (wlasnie jak to zapisac?) to wtedy wczytaj strone index.php, a jesli np ktos wpisze postrona1 to sie ma odnosic do pliku podstrona1.php i go wczytywac (dane pobierane za pomoca $_GET?)

Help me smile.gif jak najszybciej i najprosciej to rozwiazac?
XDocTorX
hm no to masz racje najpierw wyświetl sobie echo top.... potem daj

  1. <?php
  2. $zmienna_przefiltrowana=$_GET['page']; // tutaj przefiltruj $_GET['page']; aby nie użył zewnętrznego pliku np <a href=\"http://exp.pl/exp.php\" target=\"_blank\">http://exp.pl/exp.php</a>
  3. if(empty($GET['page'])) require_once('main');
  4. else require_once($zmienna_przefiltrowana.'.php');
  5. ?>


no i chyba tyle ;]
[edit tag php smile.gif ]
lnn
cos mi to nie bardzo dziala. owszem main wczytuje lecz podstron nie ;/
XDocTorX
to main nie powinien się wczytać. musisz wrzucić te pliki do tego samego katalogu co index.php i nazwać je main.php podstrona.php wywołujesz je index.php?page=podstrona


  1. <?php
  2. $zmienna_przefiltrowana=$_GET['page']; // tutaj przefiltruj $_GET['page']; aby nie użył zewnętrznego pliku np <a href=\"http://exp.pl/exp.php\" target=\"_blank\">http://exp.pl/exp.php</a>
  3. if(empty($GET['page'])) require_once('main.php');//
  4. else require_once($zmienna_przefiltrowana.'.php');
  5. ?>
grzegosh
  1. <?php
  2. if(empty($GET['page'])) require_once('main.php');
  3. ?>

Kolega wyżej popełnił błąd przy odwołaniu sie do zmiennej get. Powinno być $_GET['page']
Drav
  1. <?php
  2. switch ($_GET['strona'])
  3. {
  4. case kontakt:
  5.       include("kontakt.htm");
  6.       break;
  7. case about:
  8.       include("about.htm");
  9.       break;
  10. default:
  11.       include("home.htm");
  12. }
  13. ?>


Nazwa linku to np index.php?strona=kontakt ( w zależności od tego jaką wartość wpiszesz po "case")
Za każdym razem jak chcesz dodać kolejną stronę to dodajesz kolejny "case".
Jest to wersja łatwa w obsłudze, ale oczywiście można to zrobić używając mniejszej ilości kodu, czego przykład pokazał kolega wyżej smile.gif.


A i najlepiej zapisz sobie ten skrypt n. jako wyswietl.php i w miejscu, w którym chciałbyś, aby pojawiał się tekst.
Oczywiście wszystkie includowane pliki powinny zawierać tylko treść którą chciałbyś wyświetlać w tym miejscu, reszta strony pozostanie niezmieniona.
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.