PHP中session特点及用途,PHP特点之会话机制2——Session及其使用
會話機制(Session)在 PHP 中用于保存并發訪問中的一些數據。這使可以幫助創建更為人性化的程序,增加站點的吸引力。
一個訪問者訪問你的 web 網站將被分配一個唯一的 id, 就是所謂的會話 id. 這個 id 可以存儲在用戶端的一個 cookie 中,也可以通過 URL 進行傳遞.
會話支持允許你將請求中的數據保存在超全局數組$_SESSION中. 當一個訪問者訪問你的網站,PHP 將自動檢查(如果?session.auto_start被設置為 1)或者在你要求下檢查(明確通過?session_start()?或者隱式通過?session_register()) 當前會話 id 是否是先前發送的請求創建. 如果是這種情況, 那么先前保存的環境將被重建.
$_SESSION?(和所有已注冊得變量) 將被 PHP 使用內置的序列化方法在請求完成時 進行序列化.序列化方法可以通過session.serialize_handler?這個 PHP 配置選項中來設置一個指定的方法.注冊的變量未定義將被標記為未定義.在并發訪問時,這些變量不會被會話模塊 定義除非用戶后來定義了它們.
因為會話數據是被序列化的,resource?變量不能被存儲在會話中.序列化句柄 (php?和?php_binary) 會受到 register_globals 的限制. 而且,數字索引或者字符串索引包含的特殊字符(|?和?!) 不能被使用. 使用這些字符將腳本執行關閉時的最后出現錯誤.?php_serialize?沒有這樣的限制.php_serialize?從 PHP 5.5.4 以后可用.
示例一、session的簡單使用:
//注冊session
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
//刪除session
unset($_SESSION['count']);
?>
Session相關函數:
session_cache_expire?— Return current cache expire
session_cache_limiter?— Get and/or set the current cache limiter
session_commit?— session_write_close 的別名
session_decode?— Decodes session data from a session encoded string
session_destroy?— Destroys all data registered to a session
session_encode?— 將當前會話數據編碼為一個字符串
session_get_cookie_params?— Get the session cookie parameters
session_id?— Get and/or set the current session id
session_module_name?— Get and/or set the current session module
session_name?— Get and/or set the current session name
session_regenerate_id?— Update the current session id with a newly generated one
session_register_shutdown?— Session shutdown function
session_register?— Register one or more global variables with the current session
session_save_path?— Get and/or set the current session save path
session_set_cookie_params?— Set the session cookie parameters
session_set_save_handler?— Sets user-level session storage functions
session_start?— Start new or resume existing session
session_status?— Returns the current session status
session_unregister?— Unregister a global variable from the current session
session_unset?— Free all session variables
session_write_close?— Write session data and end session
總結
以上是生活随笔為你收集整理的PHP中session特点及用途,PHP特点之会话机制2——Session及其使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 容易得麦粒肿的怎么办
- 下一篇: 牙周炎以后多久掉牙