Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cała witryna w PHP...
Forum PHP.pl > Forum > Przedszkole
Filozof
Pomocy! jak w 1 pliku zmieścić całą witrynę? Na wielu stronach zmienne są przekazywane przez znaczniki HTMLowe <a> np. <a href="strona.php?param1=acid&param2=vocabulary">. I mam pytanie: jak zrobić, aby po odczytaniu tychże wartości TEN SAM skrypt wyświetlił inną stronę?
Taki zapis:
echo "Content-type: text/html\n\n";
nie działa? Powtarzam: jak to wszystko zmieścić w 1 pliku?
nospor
include lub header
include
  1. <?php
  2.  
  3. if ($_GET['param1']=='cos')
  4.    include('cos');
  5. //....
  6.  
  7. ?>


header:
  1. <?php
  2.  
  3. if ($_GET['param1']=='cos')
  4. {
  5.    header('Location: innastrona');
  6.    exit;
  7. }
  8. //....
  9.  
  10. ?>


więcej na ten temat znajdzien na forum. bylo multum razy.

ps: witamy
Pietras
  1. <a href="index.php?dzial=info">Info</a>
  2. <a href="index.php?dzial=kontakt">Kontakt</a>
  3.  
  4. <?
  5. switch($_GET['dzial']) {
  6. case "info": 
  7. echo('Przykładowy dział');
  8. break;
  9. case "kontakt": 
  10. echo('Przykładowy dział');
  11. break;
  12. default:
  13. echo('Strona główna');
  14. break;
  15. }
  16. ?>


Oczywiście trzeba to wszystko wkomponować w wygląd stronby i przerobić dla własnych potrzeb smile.gif
Filozof
Co od include, to po poprzedniej stronie wyswietla następnąi koszmarnie wygląda..., a drugi pomysł jest pracochłonny. Ale cóż, skoro nie ma innego rozwiązania.. A czy pomysł z instrukcją switch jest dobry? Przecież poprostu na końcu poprzedniej strony doda tekst! sadsmiley02.gif
maston
Pomysł ze switch jest jedynym sensownym rozwiazaniem.
Popatrz:

  1. <?
  2. echo ('Menu : <a href="index.php?dzial=1>Dział 1</a> :: <a href="index.php?dzial=2>Dział 2</a><br /><br /> ');
  3.  
  4. switch($_GET['dzial']) {
  5. case "1": 
  6.   echo('<center>Jesteś w dziale pierwszym</center>');
  7. break;
  8. case "2": 
  9.   echo('<center>Jestes w dziale drugim</center>');
  10. break;
  11. default:
  12.   echo('<center>Strona główna</center>');
  13. break;
  14. };
  15. ?>


Zawsze na gorze masz menu a pod menu w zaleznosci od zmiennej "dzial" podawanej w adresie masz odpowiednie texty. i w ten sposob wszystko jest w jednym pliku. To co znajduje sie w default wyswietla sie wtedy gdy nie ma zmiennej "dzial" w adresie lub wpiszesz np "index.php?dzial=3" ktory nei jest zadeklarowany w case. Łatwiej sie chyba nie da napisac:P
Gość_Filozof
Tak, ale po kolejnych kliknięciach odnośników wyświetlą się te napisy po koleji, sad.gif a mi chodzi o to, aby plik index.php (w tym wypadku) zwracał za każdym wywołaniem inną stronę. Próbowałem to już dawno zrobić tak jak Ty podajesz, ale po 1 stronie wyświetla się kolejna, i kolejna po sobie i koszmarnie wygląda mad.gif itd. A nie osobna strona!!! Próbowałem czegoś takiego i też nie ma wyników.
  1. <? php
  2. switch ($_GET[param1]) {
  3. case "wartosc1":
  4. echo "Content-Type: text/htmlnn";
  5. include("plik1.html");
  6. break;
  7. case "wartosc2":
  8. echo "Content-Type: text/htmlnn";
  9. include("pliki/plik2.html");
  10. break;
  11. default:
  12. echo "Content-Type: text/htmlnn";
  13. include("index.html");
  14. break;
  15. }
  16. ?>


POMOCY! Za miesiąc muszę skończyć moją stronę a na razie nawet nie mam wersji HTML!
nospor
Cytat
Tak, ale po kolejnych kliknięciach odnośników wyświetlą się te napisy po koleji,
A co ty wygadujesz. Uruchomilem skrypt który podał @maston i się wyswietla tylko to co ma się wyswietlić.

Zrobilem oczywiscie małą przeróbkę gdyz brakowalo ciapków:
echo ('Menu : <a href="index.php?dzial=1">Dział 1</a> :: <a href="index.php?dzial=2">Dział 2</a><br /><br /> ');


Możesz w swichach zamiast include dać:
  1. <?php
  2.  
  3. header('Location: innastrona');exit;
  4.  
  5. ?>
limak
Cytat
Tak, ale po kolejnych kliknięciach odnośników wyświetlą się te napisy po koleji
LOL, uwielbiam kolesi którzy nie sprawdzą nawet kodu który sie tu wklei tylko beszczelnie zgadują (oczywiscie blędnie) co im wyswietli ten kod (oczywiscie blędnie) :/ mad.gif

spradz sobie najpierw..... a tak wogóle to musisz sobie poczytac jeszcze duzo o php bo w kazdym kursie/ksiązce to jest na samym początku.... tak sie robi praktycznie kazdą strone....
Filozof
Sorki, nie sprawdziłem czy to działa. Teraz wszystko jest OK biggrin.gif . Dzięki za rady.
limak
nie ma za co smile.gif (w imieniu ActivePlayera biggrin.gif) po to jest forum 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.