сессия — PHP: Запомнить меня, оставаться в системе не работает

В моем проекте PHP я хочу добавить пользователя Запомни меня checkbox так что каждый может остаться в системе:

До сих пор я делаю свой обычный вход в систему, как:

public function loginUser($psMail, $psPwd, $pnRememberMe = 0) {
// Check credentials and so on
// If mail and password matches
if(CREDENTIALS OKAY) {
$_SESSION["username"] = "foo";
$lnExpire = time() + 3600 * 24 * 60;
setcookie("remember", base64_encode(USERID), $lnExpire);
setcookie("rememberToken", md5(SOMESTUFF), $lnExpire);
}
}

Когда я вхожу в систему, я вижу созданные переменные cookie с:

print_r($_COOKIE);

Теперь я пытаюсь покинуть сайт с моей функцией выхода из системы:

// Unset the session variables
$_SESSION = array();
// Destroy the session.
session_destroy();

Но теперь, когда я на целевой странице, мои куки тоже исчезли?
Может ли это быть из-за настроек сайта моего сеанса?

ini_set("session.use_only_cookies", "1");
ini_set("session.use_trans_sid", "0");

0

Решение

Функция php setcookie имеет четвертый аргумент path из документации «Путь на сервере, на котором будет доступен cookie». По умолчанию он указывает путь к вашей директории. Попробуйте установить «/», тогда он будет доступен для всего домена. http://php.net/manual/en/function.setcookie.php

0

Другие решения

Попробуйте этот код, надеюсь, он будет работать для вас

 if(count($_POST>0) && isset($_POST['checkbox']))
{
setcookie('name',$_POST['uname'],time()+3600);
setcookie('password',$_POST['pw'],time()+3600);
}
elseif(count($_POST)>0)
{

setcookie('name','',time()-3600);
setcookie('password','',time()-3600);
}
if(count($_POST)>0 && $_POST['uname']!="" && $_POST['password']!="")
{
if(isset($_COOKIE['name']) && isset($_COOKIE['password']))
{

echo $_COOKIE['name'];
echo $_COOKIE['password'];

}

Ваш регистрационный код здесь …..

0

По вопросам рекламы [email protected]