Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Switch + linki
Forum PHP.pl > Forum > PHP
kejlos
Wiec postanowiłem sie zająć php, ale napotkałem sie pewien szkopuł, nie potrafię rozbudować linku, mówiąc jaśniej, po wpisaniu tego linku jakieswww.pl/index.php?page=gry&cat=jakasgra
i wyświetli sie nam plik jakasgra.php, ale teraz gdy ta strona ma galerie to chce by link wyglądał tak jakieswww.pl/index.php?page=gry&cat=jakasgra&id=galeria i otworzy nam sie plik galeria.php, czy pomoże mi ktoś z tym?

Skrypcik jaki używam do pierwszego linku:
  1. <?
  2. switch($_GET['page'])
  3. {
  4. case 'gry':
  5. if(!isset($_GET['cat']))
  6. {
  7. include("news/show_news.php");
  8. }
  9. else
  10. {
  11. if(file_exists(''.$_GET['cat'].'.php'))
  12. {
  13. include $_GET['cat'].'.php';
  14. }
  15. else
  16. {
  17. include("news/show_news.php");
  18. }
  19. }
  20. break;
  21. default:
  22. include("news/show_news.php");
  23. }
  24. ?>
Xniver
Nie wiem czy dobrze zrozumiałem:
  1. <?php
  2. if(isset($_GET['page']))
  3. {
  4. $_GET['page'] = basename($_GET['page']);
  5. }
  6.  
  7. switch($_GET['page'])
  8. {
  9. case 'gry':
  10. if(!isset($_GET['cat']))
  11. {
  12. require_once 'news/show_news.php';
  13. }
  14. else
  15. {
  16. $_GET['cat'] = basename($_GET['cat']);
  17.  
  18. if(isset($_GET['id']))
  19. {
  20. $_GET['id'] = basename($_GET['id']);
  21.  
  22. require_once $_GET['id'] . '.php'; 
  23. }
  24. elseif(file_exists($_GET['cat'] . '.php'))
  25. {
  26. require_once $_GET['cat'] . '.php';
  27. }
  28. else
  29. {
  30. require_once 'news/show_news.php';
  31. }
  32. }
  33. break;
  34.  
  35. default:
  36. require_once 'news/show_news.php';
  37. }
  38. ?>


Poza tym twoje rozwiązanie nie jest zbyt bezpieczne...
baranek77
tworzysz dokladnie tak samo tylko w tej drugiej stronie w miejscu gdzie chcesz zaladowac kolejna strone dajesz cos takiego
  1. <?php
  2.  
  3.  
  4. $id = $_GET['id']; //tutaj zmieniasz nazwe zmiennej w przypadku galerii jak pokazales w przykladdzie 
    mzoe tak zostac
  5. if(!empty($id)) {
  6. if( (file_exists("$id.php")) && (preg_match('|^[[:alpha:]-/_]+$|', $id)) ) include "$id.php";
  7. else echo 'brak strony ';
  8. }
  9.  
  10. ?>
kejlos
Wielkie dzieki! wiem ze niebezpieczny ale narazie musze z czyms latwiejszym popracowac pozniej bede robil skomplikowane.
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.