許多的網頁都會讓使用者登入,才能開啟特定的功能。而我們自己架設的網站也能略也模仿,透過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正常的作用了,能夠辦到像是登入後儲存一些簡單的資料在使用者端,顯示基本的使用者資訊等,而不用每次都向資料庫拿取資料。
當我們裝好自己的網頁伺服器,如網路上常見的教學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這個詞,會看到下面幾行文字:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; This directive allows you to disable certain functions for security reasons. | |
; It receives a comma-delimited list of function names. This directive is | |
; *NOT* affected by whether Safe Mode is turned On or Off. | |
; Original -> disable_functions= | |
; Modified | |
disable_functions =Off |
根據他的註解敘述,有可能因為安全性的理由,而沒有啟用部分的功能,所以我們將後面的參數改為Off,在重新啟動Apache或是IIS,就可以看到Cookie正常的作用了,能夠辦到像是登入後儲存一些簡單的資料在使用者端,顯示基本的使用者資訊等,而不用每次都向資料庫拿取資料。
留言
張貼留言