我有以下PHP函数:function validateUser($username){ session_regenerate_id (); $_SESSION['valid'] = 1; $_SESSION['username'] = $username; setcookie('username2',$username,time()+60*60*24*365); header("Location: ../new.php");}然后,我获取Cookie:echo $_COOKIE['username2']; exit();(我仅exit()出于调试目的而放置)唯一的问题,它变得空白。有任何想法吗?更新: 这是该函数的调用方式: if(mysql_num_rows($queryreg) != 0){ $row = mysql_fetch_array($queryreg,MYSQL_ASSOC); $hash = hash('sha256', $row['salt'] . hash('sha256', $password)); if($hash == $row['password']) { if($row['confirm'] == 1){ if(isset($remember)){ setcookie('username',$username,time()+60*60*24*365); setcookie('password',$password,time()+60*60*24*365); } else { setcookie('username','',time()-3600); setcookie('password','',time()-3600); } validateUser($username);我没有包括所有if()语句以节省一些空间。
3 回答
富国沪深
TA贡献1790条经验 获得超9个赞
尝试添加path = /,以使Cookie不仅适用于当前目录,而且适用于整个网站(之前使我陷入困境的目录)
例
setcookie('password',$password,time()+60*60*24*365, '/');
还要确保cookie是php手册中建议的输出的第一件事(这也使我很困惑)
与其他标头一样,必须在脚本的任何输出之前发送cookie(这是协议限制)。
- 3 回答
- 0 关注
- 609 浏览
添加回答
举报
0/150
提交
取消