![]() |
![]() ![]() |
![]() |
![]()
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. -------------------- Warsztat: Apache 1.3.27 | PHP 4.3.1 | MySQL 3.23.53 | HandyHTML Studio 2
Na warsztacie: Wędrusie [b]llll 20% |
|
|
![]()
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?
![]() [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 ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:21 |