当我尝试保存Cookie时,似乎已正确保存,我可以使用$_COOKIE[]
获取它们但是当我关闭我的网页并再次打开它时,我无法看到它们。
if(isset($_POST['cookieChk'])){
setcookie('uName', $_POST['uName'], time() + (3600 * 24 * 30), '/', $_SERVER['SERVER_NAME']);
setcookie('pass', $_POST['pass'], time() + (3600 * 24 * 1), '/', $_SERVER['SERVER_NAME']);
}else if(!isset($_POST['cookieChk'])){
setcookie('uName', '', time() - (3600 * 24), '/', $_SERVER['SERVER_NAME']);
setcookie('pass', '', time() - (3600 * 24), '/', $_SERVER['SERVER_NAME']);
}
<input type="text" name="uName" class="loginBox" value="<?php if(isset($_COOKIE['uName']))echo $_COOKIE['uName']; ?>" />
答案 0 :(得分:1)
cookie的默认过期时间是窗口会话,这里的会话是指浏览器窗口,而不是SESSION。
所以当窗口关闭时,cookir会过期。如果您不想这样,请手动设置cookie expiretime。
答案 1 :(得分:1)
你告诉它在你的代码中, 在该代码的每次首次运行时,将执行else if块,从而自行销毁您的cookie
我建议你把它放在其他地方或完全删除
//the root of your problem
setcookie('uName','',time()-(3600*24),'/',$_SERVER['SERVER_NAME']);
setcookie('pass','',time()-(3600*24),'/',$_SERVER['SERVER_NAME']);