Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Linki z użyciem $_GET
Forum PHP.pl > Forum > Przedszkole
Maciek_#_&
Witam,
W tym http://forum.php.pl/index.php?showtopic=15...mp;#entry759191 temacie jest skrypt który teoretycznie powinien działać.

Interesuje mnie jednak inny sposób tworzenia prostych linków czyli np.
strona.pl/index.php?akcja=turn

Coś prostego, popularnego i krótkiego smile.gif

Dziękuje za pomoc. smile.gif
erix
I w czym tkwi Twój problem?
Maciek_#_&


=)
stefik4
Pokaz jaki masz kod pliku index.php i jaki link wpisujesz do przeglądarki.
Maciek_#_&
  1. <?php
  2. switch($_GET['act'])
  3. {
  4. case "form": { include('form.php');
  5. break; }
  6. default: { include('index.php');
  7. break; }
  8. }
  9. ?>


Nic nie wpisuje do adresu, błąd występuje pod stroną główną.
stefik4
Komunikat mówi, że serwer nie działa poprawnie.

Polecam korzystanie z Krasnala lub aplikacji Webserv.
kapuch
A mi sie wydaje ze chlopak poprostu zapetlil kod, tzn. do pliku index.php wstawia jako default plik index.php, ktory zas znowu jako default wstawia plik index.php i tak w kolo wesolo biggrin.gif

Jako default wstawiaj plik cos w stylu home.php ,ale nie sam index.php, ktory odpalasz jako pierwszy smile.gif - przeciez z tego pliku juz wywolujesz switcha, a wiec jak go zainkludujesz to bedziesz mial plik index.php, a w nim kolejny index.php itd. i one beda wykonywaly w kolko ten domyslny include.
Stad ten komunikat o przeciazeniu serwera!

Cytat(stefik4 @ 22.07.2010, 12:06:30 ) *
Komunikat mówi, że serwer nie działa poprawnie.

Polecam korzystanie z Krasnala lub aplikacji Webserv.

Komunikat mowi co innego - ze serwer jest chwilowo zajety/przeciazony...wlasnie przez to co napisalem (zapetlenie kodu).
Maciek_#_&
Faktycznie, działa, teraz chciałbym zapytać jak dokładnie wykonać to:
http://forum.php.pl/index.php?s=&showt...st&p=759202

Efekt jaki chciałbym uzyskać napisałem w tym temacie
http://forum.php.pl/index.php?showtopic=15...p;p=759191&

Skrót: Chciałbym żeby skrypt przestał się wykonywać po tym jak załaduje plik :
  1. switch($_GET['akcja'])
  2. {
  3. case "trau": { include('a.php');
  4. break; }
  5. default: { include('home.php');
  6. break; }
  7. }


a.php


Niestety nikt nie odpowiedział.
kapuch
No to jak juz Ci ktos tam napisal.
Wszystko co masz w sekcji <body></body> poprzedz if(!isset($i)){ }, nawet kod php, oczywiscie samego switcha pozostaw przed ifem.
Przyklad:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Moja strona</title>
  5. </head>
  6. <?php
  7. switch($_GET['act'])
  8. {
  9. case "form": { include('form.inc');
  10. $i=1; break; }
  11. default: { include('index.php');
  12. break; }
  13. }
  14. ?>
  15. <? if(!isset($i)){ ?>
  16. <!-- TUTAJ RESZTA STRONY -->
  17. <? } ?>
  18. </body>
  19. </html>



Albo poprostu daj switcha zaraz po <body> (tak aby zadna czesc strony nie byla przed nim) i w switchu daj exit gdy bedzie inkludowany formularz.
Przykladowo:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Moja strona</title>
  5. </head>
  6.  
  7. <?php
  8. switch($_GET['act'])
  9. {
  10. case "form": { include('form.inc');
  11. exit; }
  12. default: { include('index.php');
  13. break; }
  14. }
  15. ?>
  16. <!-- TUTAJ RESZTA STRONY -->
  17. </body>
  18. </html>
Maciek_#_&
Dziękuje za wytłumaczenie, mój problem rozwiązany biggrin.gif

Dzięki 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.