PHP Cookie & PHP Session

作用:常用于識別用戶。

簡介:
cookie常用于識別用戶。cookie是服務(wù)器留在用戶計算機(jī)中的小文件。每當(dāng)相同的計算機(jī)通過瀏覽器請求網(wǎng)頁時候雄家,它同事會發(fā)送cookie。通過php胀滚,可以創(chuàng)建并且取回cookie的值趟济。

創(chuàng)建cookie:
setcookie() 函數(shù)用于設(shè)置cookie
注釋:setcookie()函數(shù)必須位于<html>標(biāo)簽之前。
語法:

setcookie(name, value, expire, path, domain);

例子:

<?php 
    setcookie("user", "leo", time()+3600);
?>
<html>
<body>
</body>
</html>

注釋:在發(fā)送cookie的時候,cookie的值會自動進(jìn)行URL編碼咽笼,
在取回時進(jìn)行自動解碼(為防止URL編碼顷编,請使用setrawcookie()取而代之)。

取回Cookie的值

PHP的$_COOKIE變量用于取回cookie的值褐荷。
在下面的例子中勾效,我們?nèi)』亓嗣麨?code>user的cookie值,并把它顯示在了頁面上:

<?php
     echo $_COOKIE["user"]叛甫;
    print_r($_COOKIE);
?>

在下面的例子中层宫,我們使用isset()函數(shù)來確認(rèn)是否已經(jīng)設(shè)置了cookie:

<html>
<body>
<?php
    if(isset($_COOKIE["user"])) {
        echo "Welcome ".$_COOKIE["user"]."!<br/>";
    }else {
       echo "Welcom guest!<br>";
    }
?>
</body>
</html>

刪除cookie:

使用過期日期變更為過去的事件點。
刪除的例子:

<?php
    setcookie("user", "", time()-3600);  // 將過期日期變更為過去的時間點其监。
?>

如果瀏覽器不支持cookie怎么辦萌腿?

如果你的應(yīng)用程序設(shè)計不支持cookie的瀏覽器,你就不得不采取其他方法在應(yīng)用程序中從一張頁面向另一張頁面?zhèn)鬟f信息抖苦。一種方式是從表單傳遞數(shù)據(jù)(有關(guān)表單和用戶輸入的內(nèi)容)毁菱。

<html>
<body>
    <form action="welcome.php" method="post">
        Name:<input type="text" name="name">
        Age:<input type="text" name="age">
        <input type="submit">
    </form>
</body>
</html>

取回"welcom.php"中的值米死,就像這樣:

<html>
<body>
    Welcome <?php echo $_POST["name"]; ?>.<br>
    You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>

PHP Sessions

PHP Sessions 變量用于存儲有關(guān)用戶會話的信息,或更改用戶會話的設(shè)置贮庞。
Session變量保存的信息是單一用戶的峦筒,并且可供應(yīng)用程序中的所有頁面使用。

PHP Session變量

當(dāng)你運(yùn)行一個應(yīng)用程序時窗慎,你會打開它物喷,做些更改,然后關(guān)閉它遮斥。這很像一次會話峦失。計算機(jī)清楚你是誰。它知道你合適啟動應(yīng)用程序术吗,并在合適終止尉辑。但是在因特網(wǎng)上,存在一個問題:服務(wù)器不知道你是誰以及你做什么较屿,這個是由于HTTP地址不能維持狀態(tài)隧魄。

通過在服務(wù)器上存儲用戶信息以便隨后使用,PHP session 解決了這個問題(比如用戶名稱吝镣,購買商品等)堤器。不過淳附,會話信息是臨時的洛姑,在用戶離開網(wǎng)站后將被刪除筐钟。如果你需要永久存儲信息,可以把數(shù)據(jù)存儲在數(shù)據(jù)庫中拱撵。

Session的工作機(jī)制是:為每個訪問者創(chuàng)建一個唯一的id(UID),并基于這個UID 來存儲變量。UID 存儲在cookie中表蝙,亦或通過URL進(jìn)行傳導(dǎo)拴测。

開始PHP Session:

在把用戶信息存到PHP Session之前,首先必須啟動會話府蛇。
注釋:session_start()函數(shù)必須位于<html>標(biāo)簽之前:

<?php session_start(); ?>
<html>
<body>
</body>
</html>

上面的代碼會向服務(wù)器注冊用戶的會話集索,以便你可以開始保存用戶信息,同時會為用戶會話分配一個UID汇跨。

存儲Session變量

存儲和取回session變量的正確方法是使用PHP $_SESSION變量:

<?php
    session_start();
    // 存儲session 數(shù)據(jù)
    $_SESSION['views'] = 1;
?>
<html>
<body>
<?php  
    // 取回session data
    echo "Pageviews=".$_SESSION['views'];
?>
</body>
</html>

計數(shù)器:

<?php
session_start();

if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;

else
  $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

終結(jié)Session:

可以使用unset()或者session_destory()函數(shù)务荆。
unset()函數(shù)用于釋放指定的session變量

<?php
    unset($_SESSION['views']);
?>

或者:

<?php
    session_destroy();
?>

注釋:session_destroy() 將重置session,你將會失去所有session數(shù)據(jù)穷遂。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末函匕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蚪黑,更是在濱河造成了極大的恐慌盅惜,老刑警劉巖中剩,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異抒寂,居然都是意外死亡结啼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門屈芜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妆棒,“玉大人,你說我怎么就攤上這事沸伏「馍海” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵毅糟,是天一觀的道長红选。 經(jīng)常有香客問我,道長姆另,這世上最難降的妖魔是什么喇肋? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮迹辐,結(jié)果婚禮上蝶防,老公的妹妹穿的比我還像新娘。我一直安慰自己明吩,他們只是感情好间学,可當(dāng)我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著印荔,像睡著了一般低葫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仍律,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天嘿悬,我揣著相機(jī)與錄音,去河邊找鬼水泉。 笑死善涨,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的草则。 我是一名探鬼主播钢拧,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼畔师!你這毒婦竟也來了娶靡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤看锉,失蹤者是張志新(化名)和其女友劉穎姿锭,沒想到半個月后塔鳍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡呻此,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年轮纫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焚鲜。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡掌唾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忿磅,到底是詐尸還是另有隱情糯彬,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布葱她,位于F島的核電站撩扒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吨些。R本人自食惡果不足惜搓谆,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望豪墅。 院中可真熱鬧泉手,春花似錦、人聲如沸偶器。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽状囱。三九已至术裸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間亭枷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工搀崭, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留叨粘,地道東北人。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓瘤睹,卻偏偏與公主長得像升敲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子轰传,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容