Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesje znikają same.
Forum PHP.pl > Forum > Przedszkole
Wieviór
Mam taki kod:

  1. <?
  2. if (!isset ($_SESION['loginek']))
  3. {
  4. $lifetime = 3600 * 24 * 30;
  5. session_name ('Sesja');
  6. setcookie('loginek', $_SESSION['loginek'], strtotime('+60 days'));
  7. setcookie('layout', $_SESSION['layout'], strtotime('+60 days'));
  8. setcookie('uid', $_SESSION['uid'], strtotime('+60 days'));
  9. setcookie('roz', $_SESSION['roz'], strtotime('+60 days'));
  10. }
  11. ?>


te sesje są gdzieś tam dalej ustawiane. I wszystko jest spoko, loguję się, robię coś. Patrzę w Firefoxie na pliki sesji i rzeczywiście te cztery są i wszystko pięknie. Wyłączam przeglądarkę i włączam, plików sesji nie ma i zalogowany nie jestem... sad.gif Ma ktoś jakiś pomysł?
cadavre
Funkcję session_set_cookie_params wykonuje się przed session_start. Poczytaj komentarze funkcje set_params. Czas ciasteczka musi być liczony wg. Unix timestampa (funkcja time() i do niej dodana wartość). Więc
  1. <?php
  2. $lifetime = 3600 * 24 * 30;
  3. ?>
jest błędne. Winno być:
  1. <?php
  2. $lifetime = time() + 3600 * 24 * 30;
  3. ?>
Wieviór
Zmieniłem to na co zwróciłeś uwagę i nic to w sumie nie zmieniło.

Zauważyłem, że jest tak:
1. Loguje się.
2. Zalogowany, pięknie długo mogę działać, pliki sesji są zapisane.
3. Wyłączam przeglądarkę.
4. Włącza przeglądarkę i pliki sesji są, normalnie jak były.
5. Włączam stronę, nie jestem zalogowany, a pliki sesji znikają...

Czyli mój skrypt jakby je kasuje, tylko kurcze gdzie i kiedy!?


EDIT: I jeszcze jedno. Mam pięć ciastek, cztery to te dane zapisane u góry, trwające do 4 marca, a drugie to PHPSESSID, trwająca do końca sesji... może dlatego się kasują?
KotDomowy
A to jest literówka przy przepisywaniu, czy aktualny kod?

  1. <?php
  2. if (!isset ($_SESION['loginek']))
  3. {
  4. ?>


bo jeżeli normalny to brak jednego S w $_SESSION - a wtedy night nie ma zmiennej $_SESION i generuje ci nową sesję za każdym razem
Wieviór
Ok, poprawiłem to, i w ogóle usunąłem tego ifa, ale ciągle jest to samo :/

Ok, zauważyłem kolejną rzecz... te ciastka mają niby ustawione, że będą do 4 marca, ale nawet jak nie wyłączę przeglądarki, tylko będę trzymał włączoną, powiedzmy z godzinkę, to znikają... sad.gif
cadavre
Najprościej - zobacz na cookies przeglądarki w np. Firefoxie i poszukaj tego który Ty ustawiasz i zobacz jaki ma "termin przydatności".
Wieviór
No właśnie to robię w Firefoxie, i wszystkie te cztery które ustawiam wygasają w marcu, przynajmniej teoretycznie...
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.