在「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