Focus
Новичок
Проблемы с авторизацией.. Как убить куку?
Знаю миллион раз обсуждалось, но все-таки.. целый день уже бьюсь:
Если авторизирюсь и выбираю пункт запомнить меня на 2 недели (тоесть ставлю куку), то не работает логаут.
Если не ставлю куки а авторизация проходит только с помощью сессий, то все нормально..
Что не так:???
Знаю миллион раз обсуждалось, но все-таки.. целый день уже бьюсь:
Если авторизирюсь и выбираю пункт запомнить меня на 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', false, true);
}
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();
}
}