Maison >développement back-end >tutoriel php > cookie封存登录信息 登录成功后setcookie是有值 关闭浏览器在进首页就读取不到值 求解

cookie封存登录信息 登录成功后setcookie是有值 关闭浏览器在进首页就读取不到值 求解

WBOY
WBOYoriginal
2016-06-13 12:59:571209parcourir

cookie保存登录信息 登录成功后setcookie是有值 关闭浏览器在进首页就读取不到值 求解
登录时cookie保存

		<br />
if(empty($c)){<br />
	echo "不存在的用户名或者密码错误!";exit;<br />
}else{<br />
        if(isset($_POST['checked']) && $_POST['checked']!=0){<br />
		setcookie('username',$c['username'],time()+60*60*24*7);<br />
		setcookie('id',$c['id'],time()+60*60*24*7);<br />
	}<br />
	//判断是否是ajax请求<br />
	if(isset($action)){<br />
		echo "登陆成功";<br />
		$_SESSION['user']=$c['username'];<br />
	}else{<br />
		$_SESSION['user']=$c['username'];<br />
		header("Location:/");<br />
	}<br />
}   <br />

首页判断
<br />
    public function index()<br />
    {<br />
		session_start();<br />
		print_r($_COOKIE);<br />
		if(isset($_COOKIE['id']) && isset($_COOKIE['username'])){<br />
			echo $_COOKIE['username'];exit;<br />
			$_SESSION['user']=$_COOKIE['username'];<br />
		}<br />
        $this->display();<br />
    }<br />

cookie值找不到,再想请问下这样信息安全吗?怎么改进。
------解决方案--------------------
cookie使用错误
setcookie('username','username',time()+60*60*24*7);
setcookie('id','id',time()+60*60*24*7);
------解决方案--------------------
if(empty($c)){ ???
不知道你前面省略掉多少代码
既然是有条件进入 cookie 设置分支,那么你总得先确认该分支进入后再测试吧?
------解决方案--------------------
<br />
你看看这里是否执行。<br />
if(isset($_POST['checked']) && $_POST['checked']!=0){<br />
            setcookie('username','ssssss',time()+60*60*24*7);<br />
            setcookie('id','40',time()+60*60*24*7);<br />
        }<br />

------解决方案--------------------
关闭浏览器在进首页就读取不到值 求解 
------cookie是保存在客户端随着你的浏览器关闭而消失的。
------解决方案--------------------
登陆成功以后,你是不是点了退出,然后关的浏览器啊?然后重新打开首页cookie就没了?
如果没点退出,建议你换其它浏览器看看是不是同样的结果……
一定不能登陆以后点退出再关浏览器哈~~
------解决方案--------------------
设置cookie的 path看看,

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn