![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki skrypt
[php:1:67cdb142bb]<?php if(!(empty($_SERVER['HTTP_REFERER']))) { $data = guest_login($_SERVER['HTTP_REFERER']); if($data['user_kind'] == 'guest') { session_register('USER_ID','LOGIN','USER_KIND'); $USER_ID = $data['user_id']; $LOGIN = $data['user_login']; $USER_KIND = $data['user_kind']; } } if(empty($LOGIN)) { if(!(empty($COOKIE_LOGIN))) { session_register('USER_ID','LOGIN','USER_KIND'); $USER_ID = $COOKIE_USER_ID; $LOGIN = $COOKIE_LOGIN; $USER_KIND = $COOKIE_USER_KIND; setcookie("COOKIE_LOGIN", $USER_LOGIN, time()+7776000); setcookie("COOKIE_USER_KIND", $USER_KIND, time()+7776000); setcookie("COOKIE_USER_ID", $USER_ID, time()+7776000); } else { if($action=='Zaloguj') { $data=user_login($_POST['login'], $_POST['password']); if($data != '0') { if($_POST['still_login']=='yes') { setcookie("COOKIE_LOGIN", $data['user_login'], time()+7776000); setcookie("COOKIE_USER_KIND", $data['user_kind'], time()+7776000); setcookie("COOKIE_USER_ID", $data['user_id'], time()+7776000); } session_register('USER_ID','LOGIN','USER_KIND'); $USER_ID = $data['user_id']; $LOGIN = $data['user_login']; $USER_KIND = $data['user_kind']; } } } } if(!(empty($LOGIN))) { if($action=='Wyloguj') { setcookie("COOKIE_LOGIN","", time()-999); setcookie("COOKIE_USER_KIND","", time()-999); setcookie("COOKIE_USER_ID","", time()-999); session_unregister("USER"); session_unregister("USER_ID"); session_unregister("USER_KIND"); session_destroy(); } } ?>[/php:1:67cdb142bb] Teraz to dziala tak: za pierwszym razem jest ok, za drugim razem tez, za trzecim wlaczeniem przegladarki znow nie widzi cookiesow. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Moze za duży czas ustawiasz?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Spróbuj zamiast
[php:1:df83359d1e]<?php time()+100000000000 ?>[/php:1:df83359d1e] dać [php:1:df83359d1e]<?php time()+7776000 ?>[/php:1:df83359d1e] to ustawi (a przynajmniej powinno) ciastko na 90 dni. Ja bym to na pierwszy rzut oka obstawiał - być może data jaka powstaje jest za duża i przechodzi automatycznie na 0 - czyli 01.01.1970 - a że takie ciastko byłoby baaardzo stare to jest kasowane. Taka rada jeszcze: zamiast sprawdzać if(isset($zmienna)) sprawdzaj !if(empty($zmienna)) - bo pierwszy warunek bedzie prawdą jeżeli zmiennej nie będzie - ale gdy będzie zdefiniowana, ale pusta, to warunek zwróci false, a empty($zmienna) nadal zwróci true - chyba że to zamierzone (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 11:12 |