您好,登錄后才能下訂單哦!
本篇文章為大家展示了php中session的使用方法,代碼簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
PHP Session 概述
session 是一種客戶與網(wǎng)站(服務(wù)器)更為安全的對(duì)話方式。一旦開啟了 session 會(huì)話,便可以在網(wǎng)站的任何頁面使用(保持)這個(gè)會(huì)話,從而讓訪問者與網(wǎng)站之間建立了一種“對(duì)話”機(jī)制。
常見的網(wǎng)上購物車,就是一個(gè)session會(huì)話的典型應(yīng)用。我們?cè)陬A(yù)定商品的時(shí)候,將選擇好的商品放入購物車,實(shí)際就是開啟一個(gè)商品的session會(huì)話。如果對(duì)選擇的商品下了訂單,則會(huì)將對(duì)應(yīng)信息寫入數(shù)據(jù)庫;如果最終沒有下訂單,在用戶關(guān)閉瀏覽器或退出登陸的時(shí)候,則會(huì)關(guān)閉session會(huì)話,選擇的商品隨即失效。
session 會(huì)話會(huì)為每一個(gè)開啟了 session 會(huì)話的訪問者建立一個(gè)唯一的會(huì)話 ID ,用于識(shí)別用戶。該會(huì)話 ID 可能存儲(chǔ)于用戶電腦的 cookie 內(nèi),也可能通過 URL 來傳遞。而對(duì)應(yīng)的具體 session 值會(huì)存儲(chǔ)于服務(wù)器端,這也是與 cookie 的主要區(qū)別,并且安全性相對(duì)較高。
創(chuàng)建 session
要?jiǎng)?chuàng)建 session ,必須先使用 session_start() 函數(shù)開啟一個(gè) session 會(huì)話,系統(tǒng)會(huì)分配一個(gè)會(huì)話 ID:
<?php session_start(); ?>
使用 session_register() 函數(shù)注冊(cè)一個(gè) session 變量,成功返回 TRUE ,否則返回 FALSE 。
語法:
bool session_register( mixed name [, mixed ...] )
使用 session_register() 函數(shù)可以在目前會(huì)話下注冊(cè)一個(gè)或多個(gè)全局 session 變量。
例子:
<?php session_start(); $username = "xiaoli"; session_register("username"); ?>
在該例子中,我們向 session 注冊(cè)了一個(gè)名為 username 的變量,其值為 xiaoli 。
讀取 session
PHP 內(nèi)置的 $_SESSION 變量可以很方便的訪問設(shè)置的 session 變量。
例子:
<?php session_start(); echo "登記的用戶名為:".$_SESSION["username"]; //輸出 登記的用戶名為:xiaoli ?>
銷毀 session
可以通過 session_unregister() 函數(shù)來注銷單個(gè) session 變量或使用 session_unset() 來注銷整個(gè) session 會(huì)話。
例子:
<?php session_start(); session_unregister("username"); //注銷 session 變量 session_unset(); //注銷 session 會(huì)話 ?>
另一種方式
可以通過直接添加 $_SESSION 數(shù)組成員的方式注冊(cè) session 變量:
<?php session_start(); $_SESSION["username"] = "xiaoli"; ?>
如果要注銷這種方式注冊(cè)的 session 變量,需要使用 unset() 函數(shù):
<?php session_start(); unset($_SESSION["username"]); ?>
讀取 session 變量與銷毀 session 會(huì)話則同前面的方式相同。
提示
不可使用 unset() 來銷毀 session 會(huì)話。
上述內(nèi)容就是php中session的使用方法,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。