首頁  >  文章  >  後端開發  >  PHP特點會話機制2-Session及其使用

PHP特點會話機制2-Session及其使用

黄舟
黄舟原創
2017-02-04 09:42:321475瀏覽

會話機制(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的簡單使用:

<?php  
//注册session  
session_start();  
if (!isset($_SESSION[&#39;count&#39;])) {  
    $_SESSION[&#39;count&#39;] = 0;  
} else {  
    $_SESSION[&#39;count&#39;]++;  
}  
  
//删除session  
unset($_SESSION[&#39;count&#39;]);  
?>

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_is_registered — 检查变量是否在会话中已经注册
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特點之會話機制2——Session及其使用的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn