[PHP] Dlaczego nie działa include?


(system) #1

Witam, mam "mały" problem... stworzyłem stronke WWW w PHP i mam tak to zrobione, że jeśli przechodze na podstrone "Kontakt" to przechodze na taki adres: index.php?page=kontakt (czyli index dla przykładu wygląda tak => index.php?page=index ).

Strona jest zbudowana tak, że w miejscu gdzie ma pokazywać się zawartość poszczegółnych podstron (po środku :D) wstawiony mam kod:

<?php

$defaultPage = "sub_index.php";

$newOpenPage = "sub_".$page.".php";

$errorOpenPage = "sub_error.php";


if (isset($page)) {if (file_exists($newOpenPage)) {include $newOpenPage;} else {include $errorOpenPage;}} else {include $defaultPage;}

?>

...i teraz problem polega na tym, że u siebie na serwerze w kompie wszystko jest ok, ale gdy zamieszcze na takie serwery jak np.: yoyo.pl lub freehost.pl to mimo iż przechodzę do poszczególnych poddziałów ciągle tylko wyświetla mi się strona główna :? dodam także, że w kodzie zawarty jest taki kod:

if (!isset($page)) {$page = "index";}

by jeśli się wchodziło na strone główną bez żadnej wartości w adresie wyświetlał sie mimo wszystko sub_index.php

Wydaje mi się, że powinienem po prostu zmienić serwer na jakiś inny... czy może coś innego? Co mam zrobić? Może jakoś zastąpić kod odpowiedzialny za ładowanie poszczególnych podstron, jeśli tak to na jaki lub jaki inny serwer mam wybrać, który będzie obsługiwać te funkcje? Proszę o pomoc. :wink:


(adpawl) #2

Nie wczytywałem się w zasadzie w Twój kod ...ale przypuszczam że problemem jest wyłączona funkcja zmiennych globalnych (Register Globals)

Sprawdź czy pomoże wrzucenie : $page=$_GET['page'];

...przed pierwszym IF em :wink:


(system) #3

dzięki bardzo adpawl , pomogło :wink:

jak już wykonam do końca moją stronke bądź pewnien, że logo tego forum znajdzie się na stronie głównej bankowo :smiley: 8)

pozdrawiam :wink: