gpt4 book ai didi

php - 为什么我的 cookie 没有设置?

转载 作者:IT王子 更新时间:2023-10-28 23:59:13 24 4
gpt4 key购买 nike

我有以下 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()用于调试目的)

唯一的问题是,它是空白的。有什么想法吗?

更新:这是函数的调用方式:

    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() 语句。

最佳答案

尝试添加路径 =/,以便 cookie 对整个站点有效,而不仅仅是当前目录(这让我很困惑)

例子

setcookie('password',$password,time()+60*60*24*365, '/'); 

还要确保首先输出 cookie按照 php 手册中的建议(这也让我感到困惑)

Like other headers, cookies must be sent before any output from your script (this is a protocol restriction).

关于php - 为什么我的 cookie 没有设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6970754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com