很多人要使用session時都發現,為何沒有辦法讀出來沒有值呢?像底下這樣子
這是因為前面沒有加上session_start();,正確的Code應該這樣子寫
但是有時候還是會出現一些錯誤,例如常見的
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
<?php
echo $_SESSION['name']; //null
?>
這是因為前面沒有加上session_start();,正確的Code應該這樣子寫
<?php
session_start();
echo $_SESSION['name']; //null
?>
但是有時候還是會出現一些錯誤,例如常見的
cannot send session cache limiter-headers already sent (output start at ............)
ok,出現這樣子的訊息有兩種可能性,目前我所遇到的狀況也只有這兩種
1.
在使用session_start();之前輸出了資料,例如
<html>
<head>
</head>
</html>
諸如此類的型態都會產生錯誤,最好的方式就是直接在每個要使用session的頁面直接第一行就執行session_start();
2.
引用了UTF-8格式的文件,解決這種方式有兩種
第一種方式:
在php.ini底下修改,將output_buffering = off,改成output_buffering = 4096
第二種方式:
就是將檔案格式改成utf-8 無 BOM的格式,改的方式就是
開啟notepad++>格式>轉換至UTF-8碼無BOM
留言
張貼留言