Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sesje znikają same.
-Wieviór-
post 2.01.2007, 22:49:03
Post #1





Goście







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ł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
cadavre
post 2.01.2007, 23:46:48
Post #2





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
-Wieviór-
post 3.01.2007, 00:13:41
Post #3





Goście







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ą?

Ten post edytował Wieviór 3.01.2007, 00:33:29
Go to the top of the page
+Quote Post
KotDomowy
post 3.01.2007, 09:37:44
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 6.12.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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

Ten post edytował KotDomowy 3.01.2007, 09:38:54


--------------------
dabkowski.cal.pl
Go to the top of the page
+Quote Post
-Wieviór-
post 3.01.2007, 16:58:29
Post #5





Goście







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
Go to the top of the page
+Quote Post
cadavre
post 3.01.2007, 17:04:02
Post #6





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Najprościej - zobacz na cookies przeglądarki w np. Firefoxie i poszukaj tego który Ty ustawiasz i zobacz jaki ma "termin przydatności".


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
-Wieviór-
post 3.01.2007, 17:14:14
Post #7





Goście







No właśnie to robię w Firefoxie, i wszystkie te cztery które ustawiam wygasają w marcu, przynajmniej teoretycznie...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:03