在「PHP+IIS+SQL Server 網站資料庫徹底研究」的6-2頁 倒數第二段說道: ------------------------------------------ 完成Session的變數註冊後才能存取Session變數資料值,例如:
<? session_register("myname"); //註冊session變數 $_SESSION["myname"]="Charles"; //設定session變數值 echo $_SESSION["myname"]; //輸出session變數值 ?> 在上例中,小誌並沒有使用「session_start()」函數告知PHP我們要使用Session陣列,為何能直接使用Session呢?原因在於PHP為我們預設了一個名為「PHPSESSID」的Session陣列了!不過千萬要小心!這麼做的話,在後續的程式敘述中將不能改變Session變數的值,除非您在變動Session變數值之前先行呼叫「session_start()」函數! ------------------------------------------
可是我沒有使用session_start()函數,卻可以改變Session變數的值,請問是什麼原因?
<? session_register("myname"); //註冊session變數 $_SESSION["myname"]="Charles"; //設定session變數值 echo $_SESSION["myname"]; //輸出session變數值
$_SESSION["myname"]="Chih-Hung Tsao"; //沒有使用「session_start()」,而改變session變數的值 echo "<p>".$_SESSION["myname"]; //輸出session變數值 ?>
執行結果是: Charles Chih-Hung Tsao
|