为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的cookie没有设置?

为什么我的cookie没有设置?

PHP
qq_遁去的一_1 2019-12-04 14:51:33
我有以下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(这是协议限制)。


查看完整回答
反对 回复 2019-12-04
  • 3 回答
  • 0 关注
  • 609 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信