那时候,我似乎误解了一些关于cookie的事情。为什么这不起作用......
<?php
if (isset($_COOKIE["stop"])){
echo "Welcome " . $_COOKIE["stop"] . "!<br />";
}
$passedvar = $_POST["stopsaway"];
if (isset($passedvar)){
echo "HHHYES!!!";
if (is_numeric($passedvar)){
echo "Yup its a number string alright! I'll turn it into a int and I'll make a cookie.";
//$passedvar = (int)$passedvar;
setcookie("stop", $passedvar, time()+30);
echo "COOKIE MADE.";
}
}
if (isset($_COOKIE["stop"])){
echo "Welcome " . $_COOKIE["stop"] . "!<br />";
}
//var_dump($_POST["stopsaway"]);
?>
第二个代码
<?php
$thing = 1;
if ($thing==1){
setcookie("stop","4",time()+30);
}
if (isset($_COOKIE["stop"])){
echo "So why won't it work THERE!?";
}
print_r($_COOKIE);
?>
基本上,我希望用户在字段中输入一个数字,然后将cookie设置为该数字,主页面反映该更改。这工作ONCE。底部代码似乎有效,但由于某种原因它不起作用,除非我手动输入url使用cookie页面窗口转到主页面。如果我在彼此旁边打开了两个标签......在创建cookie之后它只是刷新主页面没有做任何事情......我想知道为什么。
另外,我记得听说setcookie之前什么都没有,因为它工作它必须是第一行代码.....那么我应该如何首先检查输入,或其他条件?谢谢!哦,对,我正在使用Firefox,但我也在我的Android上测试过。它在一个页面上工作但不在另一个页面上,所以我不认为它是浏览器。
答案 0 :(得分:0)
$ _ COOKIE直到下一页浏览才会被设置。由于您的cookie设置为在30秒后过期,因此下次访问该页面时可能会消失。