【发布时间】:2013-12-08 19:15:33
【问题描述】:
我正在编写一个网络应用程序。所以我有 index.php,我在其中检查 cookie 是否存在,如果没有 cookie 输入框将填充“测试”,否则将填充 cookie 的值。然后我有一个按钮可以将此输入值发布到 page.php,我在那里做一些工作。但是在这个page.php的末尾是
<button onclick="location.href = 'index.php';"
class="float-left submit-button">Back</button>
如果我停留在 page.php 并关闭浏览器,当我重新打开它时,cookie 仍会在这里,但如果我单击此按钮导航回 index.php,cookie 会在几秒钟内丢失
这部分在index.php中,用于检查cookie是否存在:
<?php
if (isset($_COOKIE["A"]))
{
echo $_COOKIE["A"];
}
else
{
echo "test";
}
?>
这部分在page.php中设置cookie
if (isset($_COOKIE["A"]))
{
unset($_COOKIE['A']);
setcookie('A', '', time() - 3600);
}
$domain = $_SERVER["HTTP_HOST"];
setcookie("A", $value,time()+ 86400 * 365,"/",$domain,false,true);
cookie 只在 Firefox 中设置,在 Chrome 上根本不起作用。
【问题讨论】:
-
是index.php设置cookie,可能不考虑是否已经设置? cookie 设置在哪里以及使用什么参数?
-
也许您将 cookie 设置为 0 秒?还是您将其设置在子文件夹中?检查这个stackoverflow.com/a/612106/67332