2013-12-20 173 views
0

這不是每次我加載頁面時都會增加嗎?導致它沒有這樣做,其結束於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.任何想法?

回答

0

好吧,所以我有2個問題。首先是增量部分(但我只是測試值是否變化並不真正需要增量部分),第二個是頁面之間的混合。 。爲什麼不同的頁面有不同的值不堆疊。這個問題的答案是。 。我沒有爲path parameter設置一個值,直到那時我才意識到這是需要的。我認爲這是因爲我的url rewrites不確定,但只是一個預感。但無論如何,路徑參數爲我固定。

如果你們陷入同樣的​​麻煩只是一個值添加到路徑PARAM同時設置你的cookies,像這樣:

的setcookie( 「cookiename」,$ cookievalue,$ cookielifespan, '/');

如果路徑參數是設置爲'/' cookie將是整個域

有關詳細信息中提供只是檢查manual,乾杯!

5

$_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

不同瀏覽器相同的域名。 –

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

+0

好吧,現在它的正確增加,但問題2仍然是相同的1頁,例如index.php,當我轉到其他頁面時cookie的值爲15 second.php的值是5當我刷新它的6時,我回到index.php的值是16.任何想法? –

+0

這兩個頁面都在同一個確切的域名? –

+0

這兩個頁面都在同一個域中,我正在同一瀏覽器上瀏覽頁面 –