Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] instrukcja if (chyba)
Forum PHP.pl > Forum > Przedszkole
terabit
Witam, chce sobie zrobic na stronie cos takiego:

Menu:
<a href="#">strona 1</a>
<a href="#">strona 2</a>
<a href="#">strona 3</a>
<a href="#">strona 4</a>

Tresc strony:
jeśli kliknie ktoś na "strona 1" to wyświetli sie "tekst 1"

jeśli kliknie ktoś na "strona 2" to wyświetli sie "tekst 2"

itd.

Kombinowałem z instrukcja if ale nie chciało działać.
wszystko chce mieć w jednym pliku ( index.php ) i tak jak jest to na różnych stronach, czyli np. index.php?url=2
Czy wie ktoś może jak to zrobić ?
barat
Masz szczęście ... pisałem ostatnio coś na szybko takiego:

  1. <?php
  2.  
  3. //pobranie wartości z URL'a
  4.  
  5. $page = $_GET['url'];
  6.  
  7. //Dodanie rozszerzenia .php  
  8.  
  9. $page_ext = $page.'.php';
  10.  
  11. // Sprawdzanie czy w URL'u została przekazana jakaś wartość (można zamiast tego już
  12. //w if w pirwszym warunku wpisać !$_GET['url] - będzie to samo  
  13.  
  14. $case = empty($page);
  15.  
  16. //Sprawdzanie czy taki plik istnieje na serwerze. Zwraca FALSE jeśli nie, zwraca T
    RUE jeśli tak
  17. //Jesli pliki które bedą dołączanie znajdują się w innym katalogu to należy zmieni
    ć na
  18. //@file_exists(Katalog/$page_ext);
  19.  
  20. $fileExists = @file_exists($page_ext);
  21.  
  22. //Zaczynamy sprawdzać
  23. //Pierwszy warunek sprawdza, czy zmienna została przekazana, jeśli nie ładuje domy
    ślny plik
  24. //który należy oczywiście utworzyć - to ten plik który będzie dołączany gdy ktoś wejdzie przez
  25. //adres twojastrona.pl lub twojastrona.pl/index.php
  26. //Drugi warunek sprawdza czy plik istnieje. Jesli nie - też dołącza plik domyślny.
  27. //Zamiast pliku domyślnego możesz załadować error.php w którym dasz info, że nie m
    a takiego adresu
  28. //Jeśli żaden z tych warunków nie wystąpi, ładuje rządaną stronę
  29. //WAŻNE - jeśli strony są w jakimś katalogu to w każdym z include należy go dopisać
  30.  
  31. if ($case == 1) {include('start.php');}
  32. else {
  33. if($fileExists==FALSE) {
  34. include('start.php');
  35. } else {
  36. include($page_ext);}
  37. }
  38.  ?>


Zamiast include może być dowolna inna instrukcja, na przykład pobranie danych z bazy danych - wtedy jednak odpada sprawdzanie fileExists i dodawanie rozszerzenia smile.gif Twój parametr ?url= posłuży to WHERE przy zapytaniu MySQL smile.gif
strife
@barat Usuń ze swojego kodu @, jest to zły nawyk, którego nie chcemy wykształcać u początkujących.

  1. <?php
  2. $sFile = $_GET['action'];
  3. $url  = 'actions/' . $sFile . '.php';
  4. if ( basename( file_exists( $url ) )
  5. {
  6. include_once( $url );
  7. }
  8. else 
  9. {
  10. include_once('actions/default.php');
  11. }
  12. ?>


http://forum.php.pl/index.php?showtopic=45940
http://forum.php.pl/index.php?showtopic=45443
http://forum.php.pl/index.php?showtopic=34828
http://forum.php.pl/index.php?showtopic=28298

Pytania? snitch.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.