Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] proste podstrony w jednym pliku
Forum PHP.pl > Forum > PHP
limonides
witam serdecznie

muszę przygotować coś takiego na zajęcia taki prosty skrypt aby używał metody GET

od rana siedze coś se tam wygoglelem i doszedlem do tego momentu.
poproszę o jakiekolwiek wskazówki co żle robię jak wogóle coś robie dobrze ;-)

chodzi o to żeby był np. jeden plik index.php i w nim zawarte wszystko.

  1. <div id="top">
  2.  
  3.    <div id="NAGLOWEK"></div>
  4.    <div id="MENU">
  5.    <ul>
  6.    <li><a href="index.php?id=onas">O nas</a></li>
  7.    <li><a href="index.php?id=oferta">Oferta</a></li>
  8.    <li><a href="index.php?id=cennik">Cennik</a></li>
  9.    <li><a href="index.php?id=galeria">Galeria</a></li>
  10.    <li><a href="index.php?id=kontakt">Kontakt</a></li>
  11.    </ul>
  12.    </div>
  13.    <div id="TRESC">
  14.  
  15. <?
  16.  
  17.    if ($_GET['id'] == 'onas') {
  18.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  19.    onas onas onas onas onas onas onas onas onas onas onas";
  20.    }
  21.    if ($_GET['id'] == 'oferta') {
  22.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  23.    oferta oferta oferta oferta oferta oferta oferta";
  24.    }
  25.    if ($_GET['id'] == 'cennik') {
  26.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  27.    cennik cennik cennik cennik cennik cennik cennik cennik";
  28.    }
  29.    if ($_GET['id'] == 'galeria') {
  30.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  31.    galeria galeria galeria galeria galeria galeria galeria";
  32.    }
  33.    else
  34.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  35.    kontakt kontakt kontakt kontakt kontakt kontakt kontakt";
  36.    
  37.  
  38. ?>
  39.    
  40.    </div>
blooregard
Zamiast if użyj switch (albo inaczej skonstruuj if-y) i będzie ok.

Zauważ, że ostatni warunek (if / else) jest sprawdzany ZAWSZE i dlatego dla pierwszych odnośników oprócz ich treści pojawia się również treść po 'else'
krowal
Hmm, tu nie ma co oceniać, Twoje pytanie jest bardzo ogólne i generalnie to nie wiadomo nawet co masz zrobić. Jeśli ma to być tylko przykład z wykorzystaniem $_GET to jest ok.

@up, no faktycznie mogłbyś ify przerobić, np ten else zadziała Ci tylko do ostatniego ifa a podejrzewam, że to miała być domyślna akcja.
możesz tak:
  1. <?php
  2. switch($_GET['id'])
  3.  case 'onas':
  4.    echo ...
  5.    break;
  6.  case 'xxx'
  7.    echo 'xxx';
  8.    break;
  9. }
  10. //albo
  11. if($_GET['id'] == 'onas'){
  12. }elseif($_GET['id'] == 'xxx'){
  13. }else{
  14.  //akcja domyslna
  15. }
  16. ?>
limonides
Cytat(blooregard @ 30.05.2009, 13:34:24 ) *
Zauważ, że ostatni warunek (if / else) jest sprawdzany ZAWSZE i dlatego dla pierwszych odnośników oprócz ich treści pojawia się również treść po 'else'


no właśnie dokładnie tak mi się dzieje dla pierwszych trzech linków zawsze pojawia mi się również zawartość po else .
zamieniłem teraz te ify na elseif no i dziala

  1. <div id="top">
  2.  
  3.    <div id="NAGLOWEK"></div>
  4.    <div id="MENU">
  5.    <ul>
  6.    <li><a href="index.php?id=onas">O nas</a></li>
  7.    <li><a href="index.php?id=oferta">Oferta</a></li>
  8.    <li><a href="index.php?id=cennik">Cennik</a></li>
  9.    <li><a href="index.php?id=galeria">Galeria</a></li>
  10.    <li><a href="index.php?id=kontakt">Kontakt</a></li>
  11.    </ul>
  12.    </div>
  13.    <div id="TRESC">
  14.  
  15. <?
  16.    if ($_GET['id'] == 'onas') {
  17.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  18.    onas onas onas onas onas onas onas onas onas onas onas";
  19.    }
  20.    elseif ($_GET['id'] == 'oferta') {
  21.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  22.    oferta oferta oferta oferta oferta oferta oferta";
  23.    }
  24.    elseif ($_GET['id'] == 'cennik') {
  25.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  26.    cennik cennik cennik cennik cennik cennik cennik cennik";
  27.    }
  28.    elseif ($_GET['id'] == 'galeria') {
  29.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  30.    galeria galeria galeria galeria galeria galeria galeria";
  31.    }
  32.    else
  33.     echo "lorem impuls lorem impuls lorem impuls lorem impuls
  34.    kontakt kontakt kontakt kontakt kontakt kontakt kontakt";
  35.  
  36. ?>


tylko mam jeszcze jedno małe pytanko
jak wpisuję w adresie LOCALHOST to domyślnie wyświetla mi zawartość po ostatnim ELSE.
jak ustawić aby wyświetlały się dane po IF questionmark.gif


o właśnie kowal uprzedziłeś moje pytanie ;p

czy jest możliwość zmiany akcji domyślnej questionmark.gif
erix
Cytat
jak wpisuję w adresie LOCALHOST to domyślnie wyświetla mi zawartość po ostatnim ELSE.
jak ustawić aby wyświetlały się dane po IF

Na wszelki wypadek pilnuj klamerek.

Cytat
czy jest możliwość zmiany akcji domyślnej

W switch" title="Zobacz w manualu PHP" target="_manualu tak; zmieniasz miejsce etykiety default" title="Zobacz w manualu PHP" target="_manual.
limonides
wielkie dzięki za wszelką pomoc

pozdrawiam
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.