Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z include..
Forum PHP.pl > Forum > PHP
waser
otóż mam stronke wykonana jako szablon php...jej centralna cześć sluzy jako miejsce includowania podstron, tzn.:
  1. <?php
  2. // zmienna $page przekazana metoda GET
  3. $page = $_GET['page'];
  4.  
  5. // sprawdzamy czy zmienna $page nie jest pusta
  6. if(!empty($page)) {
  7. // sprawdzamy czy plik o danej nazwie istnieje
  8. if(is_file("page/$page.php")) include "page/$page.php";
  9. // jezeli plik nie istnieje wyswietla się komunikat
  10. else echo "<br />Podana strona nie istnieje";
  11. }
  12. // jezeli zmienna $page jest pusta wyswietla się strona glowna
  13. else include "page/newsy.php";
  14.  
  15. ?>

czyli wszystko z menu otwiera mi sie w środkowej tabelce gdzie ejst ten kod, z katalogu "page".
ale teraz jest problem, bo:
zainstalowalem ksiege gosci ktora nie bylas przystosowana do includowania i wszystkie linki trzeba bylo zmienia w ten sposob:
  1. <?php
  2.  
  3. inlcude ("index.php?page=folder_z_ksiega_gosci/guestbook");
  4.  
  5. ?>

gdzie guestbook.php to strona go ksiegi gosci, i teraz mam podstrone list.php ktora wywoluje kolejne strony ze wpisami czyli:
  1. <?php
  2.  
  3. inlcude ("page/folder_z_ksiega_gosci/list.php?page=1");
  4.  
  5. ?>

no ale powyzsza strona sie otwiera w innym oknie,
nie wiem jak to polaczyc :
  1. <?php
  2.  
  3. inlcude ("index.php?page=folder_z_ksiega_gosci/list.php?page=1");
  4.  
  5. ?>

jest nielogiczne
worriedsmiley.gif worriedsmiley.gif


POMOCY
strife
Witam,

Daj w głownym pliku gdzie są wszystkie includowane pliki pokazywane warunek, jeżeli zmienna page będzie równa questbook to includuj z innego katalogu..

  1. <?php
  2.  
  3. if ( $_GET['page'] == 'questbook' )
  4. {
  5.  
  6.   $directory_name = 'ksiega_gosci/';
  7.  
  8. }
  9. else{
  10.  
  11.       $directory_name = 'home/';
  12. }
  13. // .. srodek... 
  14. include( $directory_name . $_GET['page'] . '.php' );
  15.  
  16. ?>


Pozdrawiam!

BTW.

666 postów worriedsmiley.gif
waser
heh no dzieki ale to wogole nie rozwiazalo problemu... tak mozna wczytac poptostu plik z innego katalogu.. ale jak wczytac plik w ktorym ma byc od razu include?

  1. <?php
  2.  
  3. ..../index.php?page=ksiega_gosci.php?page=lista1... 
  4.  
  5. ?>

taki zapis jest nie prawidlowy wiec jak to pominac? blagam niehc ktos mi pomoze
mad.gif
crash
Hehe smile.gif Przecież zmienne GET/POST nie są przekazywane przy include'owaniu plików tongue.gif Zamiast tego masz przecież:

file1.php:
  1. <?php
  2. $page = 'strona';
  3. include( './file2.php' );
  4. ?>

file2.php:
  1. <?php
  2. echo $page;
  3. ?>
waser
crash, przeczytaj post od poczatku tam wg mnie w miare moich mozliwosci wytlumaczylem o co mi chodzi... no to moze to nie jest problem z includowaniem... nie wiem z z czym....

chodzi o to ze jak robisz szablon stron w php to w jednym miejscu zwykle w centralnej czesci wyswiatlaja sie podstrony... i do tego sluzy include.. te podstrony includuja sie w moim przypadku z katalogu page.. dlatego pisze:
  1. <?php
  2.  
  3. a href=index.php?page=ksiega_gosci...
  4.  
  5. ?>

i teraz plik ksiega gosci.php wyswietli mi sie jako inludowana strona problem polga na tym plik ksiega_gosci.php zawiera tez taka wstawke ja w stronie glownej:
ja daje tak:
  1. <?php
  2.  
  3. a href=ksiega_gosci.php?page=lista..
  4.  
  5. ?>

ale to sie wyświetli w nowym oknie
a nie umiem polaczyc zeby otwieralo sie dalej w centrum strony głównej..
  1. <?php
  2.  
  3. a href=index.php?page=ksiega_gosci.php?page=lista.....
  4.  
  5. ?>

to jest nielogiczne i nie dziala sad.gif
nospor
a href jeżeli nie podasz target="_blank" to zaladuje ci strone z linkiem na aktualnej stronie. To co piszesz nie trzyma się kupy.
pozatym nie musisz includować strony z parametrami ?blalal=blelel.
Includujesz strone, a ona ma dostęp do $_GET i może se pobrać główne parametry.
Może to coś ci pomoże, bo jakoś ciężko z rana (i nie tylko) zakumać w czym problem. Zwykly include nie otwiera nowej strony w przeglądarce. Wykonuje php tam gdzie include robisz.
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.