В моем проекте 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");
Функция php setcookie имеет четвертый аргумент path из документации «Путь на сервере, на котором будет доступен cookie». По умолчанию он указывает путь к вашей директории. Попробуйте установить «/», тогда он будет доступен для всего домена. http://php.net/manual/en/function.setcookie.php
Попробуйте этот код, надеюсь, он будет работать для вас
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'];
}
Ваш регистрационный код здесь …..