2012-08-10 54 views
-2

我在理解爲什麼setcookie()不能在多個頁面上工作時遇到一些困難。PHP setcookie()在多個頁面上不起作用

if (isset($_POST['group'])){ 
    $group = stripslashes($_POST['group']); 
    setcookie(GSgroup, $group, time()+3600); 
} 

我使用上面的代碼來設置一個cookie時,一個表單發佈與幾個選項。我在一個包含的頁面上使用它,這樣所有使用這個函數的頁面都會將cookie設置爲正確的組。

現在,當我在localhost上試過時,這個工作非常好,但是在將其上傳到一個實時網站後,它不再工作。奇怪的是,當我在另一個包含的頁面上使用它後,它確實有效。

有沒有人有任何線索如何這可能是?我很困惑。

如果您需要更多信息,請詢問。

+0

'GSgroup'是一個定義的常量嗎?或者它是'串'?如果它是一個'字符串'你必須引用它。 – Matt 2012-08-10 13:15:35

+0

「它不起作用」 - 對你的問題的很好的解釋,我正在聯繫Charles Xavier來幫助我弄清楚「不起作用」對你的意義。 – hakre 2012-08-30 07:53:47

回答

0
if(isset($_POST['group'])){ 
$group = stripslashes($_POST['group']); 
setcookie(GSgroup, $group, time()+3600); 
} 

這是實際的代碼嗎?因爲setcookie函數中的第一個參數應該是一個字符串或一個包含字符串的變量。

0
setcookie('GSgroup', $group, time()+3600); 
0
記住

熊,當頁面加載,所以如果你在一個PHP腳本中設置第5行一個cookie與setcookie然後用$_COOKIE訪問它在第10行不會給你的cookie值cookie被加載。

您需要重新加載頁面才能以此方式訪問cookie值。

我喜歡this已提供的PHP cookie類。