PHP設定,開啟cookie

許多的網頁都會讓使用者登入,才能開啟特定的功能。而我們自己架設的網站也能略也模仿,透過cookie的達成該的功能,詳細的cookie教學,可以看前面提供的w3cshool來了解,亦或是參考用中文寫的這篇教學文章。而這篇文章主要提供一個是疑難排解的案例。

當我們裝好自己的網頁伺服器,如網路上常見的教學Apache或是Windows內建的IIS(Internet Information Service,網際網路資訊服務),並在上面啟用php則我們可以撰寫簡單的程式看是否可以使用cookie。
程式碼如下:

此行程式碼式呼叫setcookie,而這個函式的定義如下:
setcookie(name, value, expire, path, domain, secure, httponly);
所以上面的範例就是設定一位使用者,讓他的值為CSIEBear,而失效的時間3600單位為秒。

以筆者自身遭遇到的狀況(下載php 5)設定安裝在IIS 7.0的情況,此時會出現
Fatal error: Call to undefined function setcookie() in ....(省略為php檔案路徑)

當出現這行,我們可以知道目前伺服器上的cookie並無法使用,而這應該是跟php.ini的設定式有關的。因此我們在php.ini搜尋cookie這個詞,會看到下面幾行文字:

根據他的註解敘述,有可能因為安全性的理由,而沒有啟用部分的功能,所以我們將後面的參數改為Off,在重新啟動Apache或是IIS,就可以看到Cookie正常的作用了,能夠辦到像是登入後儲存一些簡單的資料在使用者端,顯示基本的使用者資訊等,而不用每次都向資料庫拿取資料。

留言