2009年11月29日 星期日

Cookie的使用心得

雖然Cookie提供類似跨網頁的全域性變數功能,但實際使用上卻有許多限制,像是使用setcookie()來儲存變數時,必須要在<html>標籤之前就先行設定,否則$_COOKIE[]內的數值將無法更改。(雖然參考書籍中提到可用ob_start buffering的語法設定,但內文沒有提到詳細語法使用,暫且不討論。)

在經過連續兩天的摸索,發現到即使在<html>標籤之前設定,也無法變更$_COOKIE[]數值的情況,就是使用include "xxx"的語法。我嘗試在a.php的<html>標籤之前include "b.php",而b.php本身是我自己編寫的函數庫(裡面只有PHP的function),其中有一個函數專門用在setcookie()的使用上,但是仍出現$_COOKIE[]無法設定的情形。經過不斷的debug,發現$_COOKIE[]在b.php內就已經無法設定了,所以出現即使在<html>標籤之前設定,也無法變更$_COOKIE[]數值的情況。

沒有留言:

張貼留言