设置Cookie不起作用

问题描述:

这不是每次我加载页面时都会增加吗?导致它没有这样做,其结束于2,当我用代码打开其他页面时,它告诉我没有设置$_COOKIE['count']设置Cookie不起作用

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的值是5当我刷新它的6时,我回到index.php的值是16.任何想法?

好吧,所以我有2个问题。首先是增量部分(但我只是测试值是否变化并不真正需要增量部分),第二个是页面之间的混合。 。为什么不同的页面有不同的值不堆叠。这个问题的答案是。 。我没有为path parameter设置一个值,直到那时我才意识到这是需要的。我认为这是因为我的url rewrites不确定,但只是一个预感。但无论如何,路径参数为我固定。

如果你们陷入同样的​​麻烦只是一个值添加到路径PARAM同时设置你的cookies,像这样:

的setcookie( “cookiename”,$ cookievalue,$ cookielifespan, '/');

如果路径参数是设置为'/' cookie将是整个域

有关详细信息中提供只是检查manual,干杯!

$_COOKIE['count']++更改为$_COOKIE['count']+1++$_COOKIE['count'],代码将完美工作。

+0

好了,现在它的增加正常,但问题2仍然是相同的1页,例如index.php“时,当我转到其他页面时,Cookie的值为'15'。 second.php'当我回到'index.php'时,当我刷新它的'6'时,值是'5',值是'16'。有任何想法吗? –

+0

@Deadpool您是否正在浏览不同浏览器的网页? – 2013-12-20 11:12:51

+0

不同浏览器相同的域名。 –

$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值。

+0

好吧,现在它的正确增加,但问题2仍然是相同的1页,例如index.php,当我转到其他页面时cookie的值为15 second.php的值是5当我刷新它的6时,我回到index.php的值是16.任何想法? –

+0

这两个页面都在同一个确切的域名? –

+0

这两个页面都在同一个域中,我正在同一浏览器上浏览页面 –