我有這樣一段程式:
if(setcookie('me','mycookie'))
{
echo "cookie已設定";
}
echo "已登入";
運行結果是"已登入”是有的,但"cookie已設定“沒有顯示。這說明cookie設定失敗了。
請問我這一段程式為什麼會設定失敗呢?有語法錯誤嗎?失敗的原因可能是什嗎?(我的瀏覽器支援cookie)
回複討論(解決方案)
如果setcookies前有輸出任何東西,將返回false。
我這邊測試 完好啊
如果setcookies前有輸出任何東西,將返回false。
哦,你是說:設定cookie的程式,必須放在任何輸出語句的前面?真的是這樣?
setcookie() 定義一個和其餘的 HTTP 標題一起發送的 cookie。和其它標題一樣,cookie 必須在指令碼的任何其它輸出之前發送(這是協議限制)。這需要將本函數的調用放到任何輸出之前,包括 和 標籤以及任何空格。如果在調用 setcookie() 之前有任何輸出,本函數將失敗並返回 FALSE。如果 setcookie() 函數成功運行,將返回 TRUE。
可我剛才把它放到程式最開頭,也沒有用,是不是我的這條語句的問題,就是在最開頭語句是這樣的:
就是滾動到最下端,跟這個有關嗎?
setcookie() 定義一個和其餘的 HTTP 標題一起發送的 cookie。和其它標題一樣,cookie 必須在指令碼的任何其它輸出之前發送(這是協議限制)。這需要將本函數的調用放到任何輸出之前,包括 和 標籤以及任何空格。如果在調用 setcookie() 之前有任何輸出,本函數將失敗並返回 FALSE。如果 setcookie() 函數成功運行,將返回 TRUE。
啊!原來要放在的前面,成功了!感謝!如果不是你們告訴,自己找原因,不知找到什麼時候,書上並沒有講到這一點。(也許在哪個角落會講,但是初學者不可能仔細閱讀全書)。謝謝!
setcookie() 定義一個和其餘的 HTTP 標題一起發送的 cookie。和其它標題一樣,cookie 必須在指令碼的任何其它輸出之前發送(這是協議限制)。這需要將本函數的調用放到任何輸出之前,包括 和 標籤以及任何空格。如果在調用 setcookie() 之前有任何輸出,本函數將失敗並返回 FALSE。如果 setcookie() 函數成功運行,將返回 TRUE。
啊!原來要放在的前面,成功了!感謝!如果不是你們告訴,自己找原因,不知找到什麼時候,書上並沒有講到這一點。(也許在哪個角落會講,但是初學者不可能仔細閱讀全書)。謝謝!
手冊就有說明這個了。
手冊比任何書都重要
書上沒有講到是作者的混蛋
但手冊上是寫的清清楚楚的
我那段文字就是在手冊上複製下來的
書上沒有講到是作者的混蛋
但手冊上是寫的清清楚楚的
我那段文字就是在手冊上複製下來的
請問你說的手冊是哪個手冊?我想下載。
setcookie() 定義一個和其餘的 HTTP 標題一起發送的 cookie。和其它標題一樣,cookie 必須在指令碼的任何其它輸出之前發送(這是協議限制)。這需要將本函數的調用放到任何輸出之前,包括 和 標籤以及任何空格。如果在調用 setcookie() 之前有任何輸出,本函數將失敗並返回 FALSE。如果 setcookie() 函數成功運行,將返回 TRUE。
啊!原來要放在的前面,成功了!感謝!如果不是你們告訴,自己找原因,不知找到什麼時候,書上並沒有講到這一點。(也許在哪個角落會講,但是初學者不可能仔細閱讀全書)。謝謝!
手冊就有說明這個了。
手冊比任何書都重要
你說的是哪個手冊?