Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Проблемы с авторизацией.. Как убить куку? (https://forum.antichat.xyz/showthread.php?t=180511)

Nicca 20.02.2010 21:39

Проблемы с авторизацией.. Как убить куку?
 
Знаю миллион раз обсуждалось, но все-таки.. целый день уже бьюсь:
Если авторизирюсь и выбираю пункт запомнить меня на 2 недели (тоесть ставлю куку), то не работает логаут.
Если не ставлю куки а авторизация проходит только с помощью сессий, то все нормально..
Что не так:???

PHP код:

function login_saver() {
if (
$this->save_login == "no") {
    if (isset(
$_COOKIE[$this->cookie_name])) {
        
$expire time()-3600;
    } else {
        return;
    }
} else {
    
$expire time()+1209600;
}
$cookie_str $this->login.chr(31).base64_encode($this->pass);
setcookie($this->cookie_name$cookie_str$expire'/''.site.com'falsetrue);        
}

function 
login_user($login$pass) {
if (
$login != "" && $pass != "")
    {
        
$this->login $login;
        
$this->pass md5($pass);
        if (
$this->check_user())    //проверяем есть ли в таблице запись с таким логином и паролем
            
{    
                
$this->login_saver();
                
$this->reg_visit($this->login$this->pass);   // Отмечаем заход пользователя
                
$_SESSION['uslogin']=$this->login;
                
$_SESSION['uspass']=$this->pass;                
                return 
true;
            } 
    } 
}

function 
log_out() {
        
setcookie ($this->cookie_name""time()-25*14*360000'/');
        
session_unregister("uslogin");
        
session_unregister("uspass");
        
session_destroy();
        
header("Location:_h_ttp://site.com");
        exit();
    }    



felix_ 21.02.2010 04:51

setcookie ($this->cookie_name, ""); или setcookie ($this->cookie_name, "", NULL, '/');


Время: 16:43