網(wǎng)絡(luò)建設(shè)中,在PHP中使用Session變量,除了必須要啟動(dòng)之外,還要經(jīng)過(guò)注冊(cè)的過(guò)程。注冊(cè)和讀取Session變量,都要通過(guò)訪問(wèn)$_SESSION數(shù)組完成。
自PHP 6.1.0起,$_SESSION如同$_POST、$_GET或$_COOKIE等一樣成為超級(jí)全局?jǐn)?shù)組,但必須在調(diào)用session_start()函數(shù)開(kāi)啟Session之后才能使用。與$HTTP_SESSION_VARS不同,$_SESSION總是具有全局范圍,因此不要對(duì)$_SESSION使用global關(guān)鍵字。在$_SESSION關(guān)聯(lián)數(shù)組中的鍵名具有和PHP中普通變量名相同的命名規(guī)則。
【示例】注冊(cè)Session變量代碼如下:<?phpsession_start(); //啟動(dòng)Session的初始化$_SESSION["username"]="skygao"; //注冊(cè)Session變量,賦值為一個(gè)用戶的名稱$_SESSION["password"]="123456"; //注冊(cè)Session變量,賦值為一個(gè)用戶的密碼?>
執(zhí)行該腳本后,兩個(gè)Session變量就會(huì)被保存在服務(wù)器端的某個(gè)文件中。該文件的位置是通過(guò)php.ini文件,在session.save_path屬性指定的目錄下,為這個(gè)訪問(wèn)用戶單獨(dú)創(chuàng)建的一個(gè)文件,用來(lái)保存注冊(cè)的Session變量。例如,某個(gè)保存Session變量的文件名為“sess_040958e2514bf112d61a03ab8adc8c74”,文件名中含Session ID,所以每個(gè)訪問(wèn)用戶在服務(wù)器中都有自己保存Session變量的文件。而且這個(gè)文件可以直接使用文本編輯器打開(kāi),該文件的內(nèi)容結(jié)構(gòu)如下:
變量名|類型:長(zhǎng)度:值; //每個(gè)變量都使用相同的結(jié)構(gòu)保存本例在Session中注冊(cè)了兩個(gè)變量,如果在服務(wù)器中找到為該用戶保存Session變量的文件,打開(kāi)后可以看到如下內(nèi)容:
username|s:6:"skygao";password|s:6:"123456"; //保存某用戶Session中注冊(cè)的兩個(gè)變量?jī)?nèi)容