我不能用php设置cookies

我不能用php设置cookies,php,cookies,Php,Cookies,就在那时,我似乎误解了一些关于饼干的事情。为什么这不起作用 <?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

就在那时,我似乎误解了一些关于饼干的事情。为什么这不起作用

<?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设置为该数字,并且主页反映出该更改。这曾经奏效。底部的代码似乎可以工作,但出于某种原因,除非我使用cookie页面窗口手动键入url以转到主页,否则它无法工作。如果我让两个标签在旁边打开…在创建cookie后刷新主页没有任何作用…我想知道为什么


此外,我还记得听说setcookie之前没有任何东西可以出现,为了让它工作,它必须是第一行代码。。。。。那么,我应该如何首先检查输入,或者其他条件?谢谢哦,是的,我正在使用Firefox,但我也在Android上进行了测试。它在一个页面上工作,但在另一个页面上不工作,所以我认为它不是浏览器。

$\u COOKIE在下一个页面视图之前不会被设置。因为你的cookie将在30秒后过期,很可能在你下次访问页面时它就消失了。

我想问题是+30如果我没记错的话,这是一个很小的时间,30意味着30毫秒…让它像3000秒一样持续3秒我记得听说在设置cookie之前什么都不能出现,要让它工作,它必须是第一行代码。。。。。那么,我应该如何首先检查输入,或者其他条件?您不能在它之前输出任何内容,因为它会触发发送的标题。你仍然可以拥有你喜欢的所有PHP代码,所以我可以保留这些条件,只要它们不使用echo之类的东西?我删除了回音,似乎是在耍花招。谢谢肖恩:不,它用的是秒。不起作用意味着它没有显示任何被设置的证据,或者在没有被重定向到那里的情况下在另一个页面上工作。哦,还有一件事,有点重要。我想在那个页面上有一个标题重定向,可能吗???@whichdan谢谢提醒!谢谢,cookies是否考虑了加载时间??cookies在您指定的时间过期-加载时间与此无关。我明白了。我看到默认情况下,cookie似乎使用时间的偏移量来确定它们的过期时间。我想知道是否有任何方法可以将其设置为使用重定向到的页面上的特定时间…作为页面加载后5秒的表示方式。另外,经过更多的涉猎和它不是凌晨3点,我发现什么是错的。标头重定向在cookie设置之后,cookie在回音之后。我想我现在明白了,在此之前,只要代码与写入页面无关,Cookie就可以拥有任意类型的PHP。