ďťż
Podstrony
|
telcocafeWitam,Mam następujący problem. Strona index.php wygląda następująco: <? session_start(); session_register("log"); if(empty($_SESSION["log"])) { $_SESSION["log"]=0; } ?> <HTML> <HEAD> </HEAD> <BODY> <div id="menu"> <?include('menu_glowne4.php');?> </div> <div id="content1"> <? if($_SESSION["log"]==0) { echo "Musisz sie zalogowac"; include('logowanie4.php'); } else { echo "Menu glowne log = 1"; echo "<BR>"; if(isset($_GET['show'])) { include('http://localhost/strona_nowa/'.$_GET['show'].'.php' ); } else { include('strona_poczatkowa.php'); } } ?> </BODY> </HTML> Czyli, ze jeśli się ktoś nie zalogował, to wtedy nie może nigdzie wejść. Człowiek się loguje wchodzi w menu glówne, klika w pobieranie_pliku4.php kod: <? if($_SESSION["log"]==0) { include('logowanie4.php'); } else { require('plik.php'); /* Dalsza część pliku */ } ?> I niestety okazuje się, że $_SESSION["log"] nie jest widoczny w <DIV id = "content1"> Wie ktoś dlaczego ? Z góry dziękuję za pomoc. dla php wartosc int(0) to to samo co bool(false) wiec jak pakujesz do sesji 0 dla niego przy sprawdzaniu empty(sess) stwierdza ze nic nie ma zamiast 0 ustaw co kolwiek innego, np 1. Nie do końca. Użyj operatora === aby PHP przestrzegał typów danych. Trochę kombinujesz. Sprawdzaj po prostu, czy istnieje zmienna sesyjna $_SESSION['log'], a nie nadawaj jej wartości 0. Przy wylogowaniu: unset($_SESSION['log']); Zmieniłem wartość na dwa - gdy jest zalogowany. Dalej nie jest widoczny w includowanych plikach, które są w innym elemencie DIV. Jakieś inne pomysły może macie ? Właściwie to problem nie dotyczy logowania. Uruchomiłem sesję w index.php i po kliknięciu na jakąkolwiek stronę, która jest includowana do innego DIV'a nie widoczna jest tam sesja. Zmienne zapoczątkowane w sesji index.php nie są widoczne w DIV'ach. Coś źle przekazuję ? ID sesji powinien trafić do ciasteczek - sprawdź, czy jest tam rzeczywiście. Upewnij się, że wywołujesz session_start(), zanim przeprowadzasz jakiekolwiek operacje. Wyrzuć session_register - to archaizm z czasów register_globals - tej opcji już nie będzie w PHP 6! |
|||
Sitedesign by AltusUmbrae. |