ďťż

[PHP]Długość sesjii ($_SESSION)

       

Podstrony


telcocafe

Witam

Problem może banalny ale czasem tak mam. W zasadzie to nie mam problemów z kodowaniem w PHP ale czasem natrafiam na prosty skrypt i koniec, czarna dziura. Czasami zabraknie jakiejś podstawowej informacji i pewnie to dlatego. Ale żeby nie owijać w bawełnę:

To chyba pierwszy skrypt jaki się powinno napisać ale nie wiem czemu nie działa (tzn. wykonuje się ale nie tak jak potrzeba).
Po prostu: jeśli nie ma SESJII adv to wyświetla się NAPIS a następnie inicjowana jest SESJA adv żeby NAPIS wyświetlił się raz na wejście na stronę, od wejścia po zamknięcie przeglądarki. Tyle że: po wejściu na stronę wyświetla się, po przejściu na podstronę już nie (to dobrze) i w końcu po zamknięciu przeglądarki i ponownym wejściu też się nie wyświetla (a powinien znowu raz).

Oto "kod" ;)

<? if (!isset($_SESSION['adv'])) { print'NAPIS'; $_SESSION['adv] = '1'; } ?>

Czy mam ustawić jakoś długość sesji?? Ale przecież sesja powinna się skończyć po zamknięciu przeglądarki.

Pozdrawiam



Nie rozumiem Twojego postu, ale na pewno brakuje session_start();
Użytkownik PcSA edytował ten post 15 grudzień 2008, 22:00
Przeglądarka prawdopodobnie zapisuje ID sesji i przywraca go po ponownym uruchomieniu. Sprawdź ustawienia. Jeśli w cookies znajdziesz PHPSID (lub nazwę sesji), usuń wpis i odśwież stronę. Jeżeli napis wyświetla się, wszystko jest OK.


Przeglądarka prawdopodobnie zapisuje ID sesji i przywraca go po ponownym uruchomieniu. Sprawdź ustawienia. Jeśli w cookies znajdziesz PHPSID (lub nazwę sesji), usuń wpis i odśwież stronę. Jeżeli napis wyświetla się, wszystko jest OK.

OK jest tak jak napisałeś,
Ale czy jest możliwość żeby zablokować odgórnie (na serwerze, stronie) takie działanie, tzn. żeby nie zapisywało tego nigdy i za każdym razem (wejściem na stronę) była tworzona na nowo sesja?

Pozdrawiam i dzięki za odpowiedzi.



ini_set('session.cookie_lifetime',0);
Wtedy sesji nie zapisze i po powrórnym otworzeniu przeglądarki i strony będzie znowu trzeba się zalogować. Można też tak:
Ustawiasz session.cookie_lifetime na 30 (liczone w sekundach). I po tym czasie trzeba się jeszcze raz zalogować.
O to chodziło?
Użytkownik Petermechanic edytował ten post 03 styczeń 2009, 14:16

ini_set('session.cookie_lifetime',0);
Wtedy sesji nie zapisze i po powrórnym otworzeniu przeglądarki i strony będzie znowu trzeba się zalogować. Można też tak:
Ustawiasz session.cookie_lifetime na 30 (liczone w sekundach). I po tym czasie trzeba się jeszcze raz zalogować.
O to chodziło?


Hmm... tak, o to chodziło też wpadłem na ten pomysł ale nadal nie działa... czy to
ini_set('session.cookie_lifetime',0);

trzeba umieścić przed całym skryptem, czy trzeba przed konkretnym miejscem w którym ustanawia się konkretną sesję?

Pozdrawiam...

przy wartości 0 będziesz miał prośbe o ponownie zalogowanie po ponownym uruchomieniu przeglądarki. Stosowne by było, jakbyś ustawił jakiś czas :)
ini_set umieść gdzieś globalnie, najlepiej przed session_start


przy wartości 0 będziesz miał prośbe o ponownie zalogowanie po ponownym uruchomieniu przeglądarki.

I właśnie w tym sedno... chce żeby tak było by przy każdym włączeniu przeglądarki prosiło o zalogowanie ale nawet przy ustawieniu session.cookie_lifetime na zero tego nie robi... dziwne...

Pozdrawiam

to albo masz w złym miejscu kod, albo Twoja przeglądarka nie usuwa cookie przy jej zamykaniu :)
Pozdrawiam

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

  • Sitedesign by AltusUmbrae.