ďťż

sesja niewidoczna w div'ach - php

       

Podstrony


telcocafe

Witam,

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!

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.