这不是每次加载页面时都会增加的吗?因为它没有在2
处结束,当我打开包含代码的其他页面时,它告诉我$_COOKIE['count']
未设置。
if(!isset($_COOKIE['count'])){
setcookie("count", 1, time() + 31536000);
} else {
setcookie("count", $_COOKIE['count']++, time() + 31536000);
}
好的,所以回答增加的问题,感谢你为你们修复了+ 1,但第二个问题仍然存在:
好的,现在它正常递增但是问题2对于1页仍然是相同的,例如index.php当我转到另一页时,cookie的值为15 second.php当我刷新它的6时值为5,当我回到index.php时,值为16.任何想法?
答案 0 :(得分:5)
将$_COOKIE['count']++
更改为$_COOKIE['count']+1
或++$_COOKIE['count']
,代码将完美运行。
答案 1 :(得分:2)
$a = 1;
$b = $a++; //with the $a++ syntax, $b is set to $a's old value first,
//and then $a is increased
//$b = 1, $a = 2
$a = 1;
$b = ++$a //with the ++$a syntax, $a is incremented first
//and then $b is set to (incremented) $a
//$b = 2, $a = 2
所以,你需要做++$_COOKIE['count']
,因为你想在传递给setcookie之前增加cookie值。
答案 2 :(得分:0)
好的,所以我有2个问题。首先是增量部分(但我只是测试值是否正在改变并不真正需要增量部分)而第二个是页面之间的混合。 。为什么不同的页面具有不堆叠的不同值。这个问题的答案是。 。我没有为path parameter
设置值,我没有意识到在那之前需要它。我认为这是因为我的url rewrites
不确定而只是一种预感。但无论如何,路径参数为我修复了它。
如果您遇到同样的问题,只需在设置Cookie时为路径参数添加值:
setcookie(“cookiename”,$ cookievalue,$ cookielifespan,'/');
如果路径参数设置为'/'
,则Cookie将在整个域中可用
有关详细信息,请查看 manual, 干杯!