Option 1: -6ren">
gpt4 book ai didi

PHP – setcookie() 不工作

转载 作者:可可西里 更新时间:2023-11-01 13:07:19 26 4
gpt4 key购买 nike

我有一个设置 cookie 的页面,如果您选中一个复选框,它会回显一个字符串。字符串打印正确,但 cookie 从未设置,我不知道为什么。

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<label for="checkbox">Option 1:</label>
<input type="checkbox" name="checkbox" id="checkbox"><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
if (isset($_POST['checkbox'])) {
setcookie("cookie", "on", time()+3600*24);
echo "You checked the checkbox and a cookie was set with a value of:<br>";
}
else {
setcookie("cookie", "off", time()+3600*24);
echo "You didn't check the checkbox and a cookie was set with a value of:<br>";
}
echo $_COOKIE['cookie'];
?>

有谁知道为什么上面的代码不起作用?

最佳答案

PHP 超全局变量在脚本启动时填充,然后在脚本的生命周期内不再被 PHP 修改或触及。这意味着 $_COOKIE 表示在启动脚本的 http 请求中发送到服务器的 cookie。它不会显示您在脚本生命周期内添加/更改/删除的任何 cookie。这些更改只会显示在 NEXT 请求中。

唯一的异常(exception)是 $_SESSION,它会在您调用 session_start() 时填充。

如果您需要这些值立即在 $_COOKIE 中,则必须手动添加它们,例如

setcookie('cookie', $value, ....);
$_COOKIE['cookie'] = $value;

关于PHP – setcookie() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24662580/

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