Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jaką wybrać strukturę strony?
Forum PHP.pl > Forum > PHP
Demoneos
Przykładowa witryna składa się z następujących stron:
index.php sterowawnie.php
pierwszy.php drugi.php trzeci.php
menu.php 2000.php 2001.php 2002.php

I teraz, jaki jest najlepszy sposób na połączenie tych plików?

Plików pierwszy.php, trzeci.php, 2000.php, 2001.php, 2002.php nie przedstawię, nie ma w nich nic ciekawego Smile
Pliki index.php i menu.php są wspólne dla obu wariantów.

index.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7. <div id="menu">
  8. <a href="?url=pierwszy">Pierwszy</a>
  9. <a href="?url=drugi">Drugi</a>
  10. <a href="?url=trzeci">Trzeci</a>
  11. </div>
  12. <div id="content">
  13. <?php include ("sterowanie.php"); ?>
  14. </div>
  15. </body>
  16. </html>


menu.php
  1. <?php
  2. echo "<a href=\"?url=drugi&url_2=2000\">2000</a>";
  3. echo "<a href=\"?url=drugi&url_2=2001\">2001</a>";
  4. echo "<a href=\"?url=drugi&url_2=2002\">2002</a>";
  5. ?>


WARIANT I
sterowanie.php - po kliknięciu na stronie index.php na anchor Drugi, w poniższym pliku sterowanie.php odbywa się wczytanie menu.
Polega to na tym, że gdy klikniemy w ten wspomniany anchor wyświetlany jest napis MENU, wczytany jest plik menu.php, w którym wybieramy opcję tego menu(kliknięcie w link w pliku menu.php ustawia zmienną $url_2).
sterowanie.php
  1. <?php
  2. if (!isset($_REQUEST["url"]))
  3. $url="home";
  4. else
  5. $url=$_REQUEST["url"];
  6.  
  7. if (!isset($_REQUEST["url_2"]))
  8. $url_2="menu";
  9. else
  10. $url_2=$_REQUEST["url_2"];
  11.  
  12. switch ($url)
  13. {
  14. case "pierwszy":
  15. include ("pierwszy.php");
  16. break;
  17. case "drugi":
  18. //include ("drugi.php");
  19.  
  20. echo "<a href=\"?url=drugi&url_2=menu\">MENU</a>";
  21. switch($url_2)
  22. {
  23. case "menu":
  24. //echo "<a href=\"?url=drugi&url_2=2000\">2000</a>";
  25. //echo "<a href=\"?url=drugi&url_2=2001\">2001</a>";
  26. //echo "<a href=\"?url=drugi&url_2=2002\">2002</a>";
  27. include ("menu.php");
  28. break;
  29. case "2000":
  30. include ("2000.php");
  31. break;
  32. case "2001":
  33. include ("2001.php");
  34. break;
  35. case "2002":
  36. include ("2002.php");
  37. break;
  38.  
  39. }
  40. break;
  41. case "trzeci":
  42.  include ("trzeci.php");
  43. break;
  44.  
  45. default:
  46. include ("pierwszy.php");
  47. }
  48. ?>


WARIANT II
sterowanie.php - to co było opisane powyżej (dotyczące menu) zostaje poprostu przeniesione do dodatkowego pliku drugi.php.
sterowanie.php
  1. <?php
  2. if (!isset($_REQUEST["url"]))
  3. $url="home";
  4. else
  5. $url=$_REQUEST["url"];
  6.  
  7.  switch ($url)
  8. {
  9. case "pierwszy":
  10. include ("pierwszy.php");
  11. break;
  12. case "drugi":
  13. include ("drugi.php");
  14. break;
  15. case "trzeci":
  16.  include ("trzeci.php");
  17. break;
  18.  
  19. default:
  20. include ("pierwszy.php");
  21. }
  22. ?>


drugi.php
  1. <a href="?url=drugi&url_2=menu">Menu</a>
  2. <!--<a href="?url=drugi&url_2=2000">2000</a>
  3. <a href="?url=drugi&url_2=2001">2001</a>
  4. <a href="?url=drugi&url_2=2002">2002</a>-->
  5.  
  6. <?php
  7. if (!isset($_REQUEST["url_2"]))
  8. $url="menu";
  9. else
  10. $url=$_REQUEST["url_2"];
  11.  
  12. switch ($url)
  13. {
  14. case "menu":
  15. //echo "<a href=\"?url=drugi&url_2=2000\">2000</a>";
  16. //echo "<a href=\"?url=drugi&url_2=2001\">2001</a>";
  17. //echo "<a href=\"?url=drugi&url_2=2002\">2002</a>";
  18. include ("menu.php");
  19. break;
  20. case "2000":
  21. include ("2000.php");
  22. break;
  23. case "2001":
  24. include ("2001.php");
  25. break;
  26. case "2002":
  27. include ("2002.php");
  28. break;
  29.  
  30. }
  31. ?>
franki01
Absolutnie jestem za drugim wariantem. Jest bardziej elastyczny i zdecydowanie ułatwi rozbudowę strony w przyszłości.
Demoneos
Cytat(franki01 @ 21.08.2008, 12:12:36 ) *
Absolutnie jestem za drugim wariantem. Jest bardziej elastyczny i zdecydowanie ułatwi rozbudowę strony w przyszłości.

Osobiście też wybrałbym chyba ten drugi wariant. Za każdym razem kiedy wybiorę opcje z Menu musi zostać wczytany plik drugi.php i dopiero z niego wczytywana jest strona, która wybraliśmy klikakąjąc w jeden z linków w Menu (w wariancie pierwszym wybór tych stron odbywa się bezpośrednio w pliki sterowanie.php). Wydaje mi się to bardziej logiczne, gdyż linki w Menu są jakby o jeden stopień niżej w hierarchii od linków na stronie głównej, więc warto nimi zarządzać dopiero w pliku który został już wczytany poprzez sterowanie.php - czyli własnie ten drugi.php, a nie w samym sterowanie.php jak to się odbywa dla linków na stronie głównej.
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.