Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Jak zmodyfikować cookie PHPSESSID (logout po zamknięciu przeglądarki)
bandix
post 12.09.2009, 22:43:39
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.09.2009

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


Witam !
Robię skrypt LOGIN/LOGOUT i chcę aby to "nieśmiertelne" cookie, które zostało utworzone funkcją SESSION o nazwie: PHPSESSID zostało usunięte po zamknięciu okna przeglądarki. Chodzi mi o to aby użytkownik musiał się za każdym razem zalogować po wejściu na stronę.
Szukałem w google po forach, czytałem manual na temat setcookie() ale nie poradzilem sobie ze zformułowaniem odpowiedniej instrukcji. Probowalem - setcookie("PHPSESSID", "PHPSESSID",time()+0) - bo slyszalem ze to 0 wlasnie tak dziala, ale ta instrukcja calkowicie zabija sesje.

Budowa skryptu:

1). session_start();

2). ... sprawdzanie czy login i haslo ok, jezeli tak to dalej ...

4). $_SESSION[] - stworzenie sesji

3). setcookie("PHPSESSID", "PHPSESSID",time()+0);


... no i to zabija sesje, a informacja o uzytkowniku nie przechodzi na nastepne strony.

Plz help.
Go to the top of the page
+Quote Post
Skie
post 12.09.2009, 22:47:19
Post #2





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


Domyślne wysłanie cookie w ten sposób:

Kod
setcookie("id_cookie", "wartosc");


Bez podania 3 argumentu - czasu - oznacza, że cookie będzie "tkwić" w przeglądarce aż do jej zamknięcia.

Twój przykład nie zabijał cookie - dawał mu bardzo długi czas 'życia' - wartość time() - więc przeglądarka mogła w różny sposób to interpretować. Ponadto cookie od id PHPSESSID nigdy nie będzie miał takiej samej zawartości jak samo id.

Poza tym, jeżeli używasz sesji to cookie w przeglądarce o id PHPSESSID pojawia się automatycznie (tak to nazwijmy).

Ten post edytował Skie 12.09.2009, 22:51:25


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
nexis
post 12.09.2009, 22:50:56
Post #3





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


setcookie()
Cytat
The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
bandix
post 13.09.2009, 00:46:11
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.09.2009

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


Super, dziala, dziekuje bardzo za pomoc smile.gif
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: 25.04.2025 - 08:19