Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]include
Forum PHP.pl > Forum > Przedszkole
eXTrim
Witam.
Mam taki problem,
mam na stronie index include,
jedna ze stron np portfolio również ma include i tam pojawiać ma sie kolejna podstrona
link w menu index wyglada tak: index.php?site=portfolio
jak bedzie wygladal link w portfolio??
zmienna to prt
index.php?site=portfolio?prt=wizualizacje2 questionmark.gif
gorden
index.php?site=portfolio&prt=wizualizacje2

kolejne argumenty GETa są poprzedzane &
amii
Ale w czym problem ?
Link będzie wyglądał tak jak to sobie ustalisz. W portfolio możesz wpisać na sztywno include('wizualizacje2.php') i wtedy nie ma sensu cackać się z tablicą $_GET i parametrami.
Takie coś robi się przeważnie kiedy wczytujesz strukturę poprzez index.php w stylu. Wtedy masz przejrzysty system sterowania i nie trzeba ładować footer.php i header.php wiele razy no i wszystkie zmiany z jednego pliku.
  1. if (!isset($_GET['zmienna']) || !file_exists($_GET['zmienna'])) $main = '';
  2. else $main = $_GET['zmienna'];
  3. inlude_once('header.php');
  4. inlude_once($main);
  5. inlude_once('header.php');
eXTrim
ok jeszcze raz...
index.php struktura:
  1. <body>
  2. <div id="content"><div id="cont">
  3.  
  4. <div id="top">top</div>
  5.  
  6. <div id="menu" class="clear">menu</div>
  7.  
  8. <div id="text" class="clear">
  9.  
  10. <?php
  11. $site = $_GET['site'];
  12.  
  13. if(!empty($site)) {
  14. if(is_file("inc/$site.php")) include "inc/$site.php";
  15.  
  16. else include "inc/error.php";
  17. }
  18.  
  19. else include "inc/glowna.php";
  20.  
  21. ?>
  22.  
  23. </div>
  24.  
  25. <div id="kontakt">kontakt</div>
  26.  
  27. <div id="stopka">stopka</div>
  28.  
  29. </div></div>
  30. </body>

w divie o id text pojawiają się podstrony np: strona główna, o firmie, portfolio, kontakt.
portfolio.php struktura:
  1. <div id="galeria">
  2.  
  3. <?php
  4. $site = $_GET['prt'];
  5.  
  6. if(!empty($prt)) {
  7. if(is_file("inc/portfolio/$prt.php")) include "inc/portfolio/$prt.php";
  8.  
  9. else include "inc/portfolio/error.php";
  10. }
  11.  
  12. else include "inc/portfolio/wizualizacje1.php";
  13.  
  14. ?>
  15.  
  16.  
  17. </div>
  18.  
  19. <div id="slogan3">
  20. tutaj jest menu kategorie z portfolio wizualizacje aranżacje i takie tam
  21. </div>

w divie o id galeria mają pojawiać się prace, są zrobione kolejne podstrony wizualizacje1.php, wizualizacje2.php, itd
Pytanko jak te kolejne podstrony includowac, jak maja wygladac linki do nich ?
Czy taka struktura jest dobra ?
Czy includowanie w indexie jest dobre i bezpieczne?
Czy includowanie w portfolio jest dobre ?
Hpsi
Ad 1) jest ogólnie git wink.gif
Ad 2 i ad 3 ) również
Będziesz miał linka : index.php?site=portfolio - ta cześć odnosi się do pierwszego geta z index.php , natomiast w portfolio dokladasz, jak powiedziano ci wczesniej index.php?site=portfolio&prt=NAZWA
eXTrim
ok znalazłem błąd ...
  1. $site = $_GET['prt'];

powinno byc:
  1. $prt = $_GET['prt'];
by_ikar
Jeżeli twój kod będzie wyglądać tak:

Kod
<?php
$site = $_GET['prt'];

if(!empty($prt)) {
if(is_file("inc/portfolio/$prt.php")) include "inc/portfolio/$prt.php";

else include "inc/portfolio/error.php";
}

else include "inc/portfolio/wizualizacje1.php";

?>

To wręczasz klucz do swoich drzwi włamywaczowi i jeszcze go zapraszasz. Przeważnie właśnie początkujący w taki sposób robią strony a potem te strony znikają. Poczytaj tego posta na blogu: http://blog.albitos.eu/2008/02/22/director...file-inclusion/ może ci coś uświadomi i uchroni cię przed późniejszymi problemami..
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.