gpt4 book ai didi

php - session_destroy() 和 setcookie 失败

转载 作者:可可西里 更新时间:2023-11-01 00:37:42 27 4
gpt4 key购买 nike

我正在尝试注销我的页面,但 session_destroy 和设置 cookie 不起作用。这是我的代码:

    $page = $_GET["page"];
if ($page == "logout") {
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}

session_destroy();


echo <<<html
<br /><br /><br /><p align="center"><b><font color="#000080">You've successfully logged out.</font></b></p>
<p align="right"><b><font size="3" color="#FF0000">Redirecting...</font></b></td>
html;
echo ("<META HTTP-EQUIV=Refresh CONTENT=\"4; URL=index.php\">");
exit ();

但它不起作用 - session 未被破坏且 cookie 保持不变。我也尝试过将 cookie 设置为不同的值但没有成功。代码的其他部分创建 cookie,访问和使用它们,但在注销部分我无法销毁它们。有人能告诉我这里出了什么问题吗?是否应该像 session_start 一样在页面的开头设置/取消设置/销毁 cookies 和 session?还是有其他问题?

最佳答案

setcookie() 必须在您的脚本生成任何输出之前调用,因为它会影响在实际响应之前发送到客户端的 header 。

您发布的代码片段看起来像是在调用发布的代码之前回应了一些内容(输出字符串不包含开始 html 标记)。因此,请确保您的代码放在回显任何输出之前,但在调用 session_start() 之后,它应该可以工作。

关于php - session_destroy() 和 setcookie 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153302/

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