Session注意事項

很多人要使用session時都發現,為何沒有辦法讀出來沒有值呢?像底下這樣子 `


echo $_SESSION['name']; //null

?>

`這是因為前面沒有加上session_start();,正確的Code應該這樣子寫 `


session_start();

echo $_SESSION['name']; //null

?>

` 但是有時候還是會出現一些錯誤,例如常見的 *cannot send session cache limiter-headers already sent (output start at …………)* ok,出現這樣子的訊息有兩種可能性,目前我所遇到的狀況也只有這兩種 **1.** 在使用session_start();之前輸出了資料,例如 `









` 諸如此類的型態都會產生錯誤,最好的方式就是直接在每個要使用session的頁面直接第一行就執行session_start(); **2.** 引用了UTF-8格式的文件,解決這種方式有兩種 第一種方式: 在php.ini底下修改,將output_buffering = off,改成output_buffering = 4096 第二種方式: 就是將檔案格式改成utf-8 無 BOM的格式,改的方式就是 開啟notepad++>格式>轉換至UTF-8碼無BOM
![](http://img.zemanta.com/pixy.gif?x-id=f46bf6ff-e0a1-429e-8db6-dc18ec626929)

CaesarChi

Web developer, focus on website fullstack, special JavaScript, and love sharing developing experience and communicate with developers. http://about.me/clonn