gpt4 book ai didi

php - 未设置 Cookie,但其余代码正在执行?

转载 作者:行者123 更新时间:2023-12-03 09:07:11 25 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

8年前关闭。




Improve this question




好吧,这真的很令人困惑。我有两个页面,A 和 B。两者都使用以下代码:

 $row = mysqli_fetch_array($data);
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['username'] = $row['username'];
setcookie('user_id', $row['user_id'], time() + (60 * 60 * 24 * 30)); // expires in 30 days
setcookie('username', $row['username'], time() + (60 * 60 * 24 * 30)); // expires in 30 days
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/main.php';
header('Location: ' . $home_url);

A 将在设置标题后执行代码(为方便起见,将其删除),然后设置标题;
B 将在设置标题后执行代码而不设置标题。

我已经检查了无数个答案,并且没有空格,main.php 文件设置为正常,A 和 B 文件看起来相同,但在 IF 语句之前具有不同的内容,这是铁定的。

没有出现错误;重定向(应该设置标题并做出相应的 react ,就像您在 B 上注销(因此没有事件的标题)一样),而在 A 上则显示为预期。

设置 cookie 的两个代码块之间的唯一区别(都在 IF 语句中)是 IF 语句是不同的,根据它出现之前的代码。

就 A 和 B 的代码之间的差异而言,我应该注意哪些(如果有的话)?

(PS:我也知道没有设置标题,因为 session 没有开始,通过将 IF $_SESSION ... 放在代码末尾。

最佳答案

session_start();
$row = mysqli_fetch_array($data);
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['username'] = $row['username'];
setcookie('user_id', $row['user_id'], time() + (60 * 60 * 24 * 30)); // expires in 30 days
setcookie('username', $row['username'], time() + (60 * 60 * 24 * 30)); // expires in 30 days
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/main.php';
header('Location: ' . $home_url);
exit;


  • PHP: session isn't saving before header redirect
  • How can I set a cookie and then redirect in PHP?
  • 关于php - 未设置 Cookie,但其余代码正在执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13185770/

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