PHP入門教程之會(huì)話控制技巧(cookie與session)
本文實(shí)例講述了PHP會(huì)話控制技巧。分享給大家供大家參考,具體如下:
Demo1.php
<form method="get" action="Demo2.php"> 姓名:<input type="text" name="username" /> <br /> <input type="submit" value="提交" /> </form>
Demo2.php
<?php //echo $_POST['username']; //如果表單采用的 get 傳輸,那么接受必須采用 echo $_GET['username']; //到底那種比較好呢。???? //$_POST['']; 比較安全 ?>
Demo3.php
<?php //創(chuàng)建一個(gè) Cookie //Cookie 是在你的客戶機(jī)存一個(gè)小文件,這個(gè)文件包含你登錄時(shí)的信息 //setcookie 可以創(chuàng)建一個(gè)客戶機(jī)的 cookie 文件 //第一個(gè)參數(shù)表示 cookie 的名稱,第二個(gè)參數(shù)表示這個(gè) cookie 名稱的值 //所謂的會(huì)話結(jié)束時(shí),就是當(dāng)你這個(gè)瀏覽器關(guān)閉時(shí),就沒(méi)有了,就自動(dòng)刪除 //創(chuàng)建一個(gè)包含過(guò)期的 cookie, 過(guò)期時(shí)間采用當(dāng)前的時(shí)間戳 + 秒即可 //time()+(7*24*60*60) 表示未來(lái)的7 天 //一旦 setcookie 改變了,一刷新瀏覽器,就會(huì)把舊的 cookie 覆蓋掉 setcookie('name','oneStopWeb',time()+(7*24*60*60)); ?>
Demo4.php
<?php setcookie('name','oneStopWeb'); //讀取本機(jī)的 cookie,采用一個(gè)超級(jí)全局變量 $_COOKIE //里面放 cookie 名即可 //有一個(gè)特性,setcookie 并不是及時(shí)生成,它會(huì)慢一拍 //PS:慢一拍,第一次刷新,只是生成覆蓋了原來(lái)。 //但獲取的還是之前的,而第二次刷新,才能真正獲取到。 //echo $_COOKIE['name']; //用變量檢測(cè)函數(shù)來(lái)判斷 cookie 是否存在 if(isset($_COOKIE['name'])){ echo $_COOKIE['name']; }else{ echo '不存在此用戶'; } ?>
Demo5.php
<?php //刪除 cookie setcookie('name','oneStopWeb'); //中間刪除掉了這個(gè) cookie //將這個(gè)值設(shè)置為空即可 //setcookie('name',''); //我將過(guò)期時(shí)間調(diào)整到目前的時(shí)間還少一秒,那么就等于是過(guò)期的了 setcookie('name','oneStopWeb',time()-1); echo $_COOKIE['name']; ?>
Demo6.php
<form method="post" action="Demo7.php"> 姓名:<input type="text" name="username" /> <br /> <input type="submit" value="提交" /> </form>
Demo7.php
<?php //如果姓名的指定的姓名相同,那么就生成一個(gè) cookie //完成登錄 if(isset($_POST['username']) && $_POST['username']=='oneStopWeb'){ //如果正確了,我生成一個(gè) cookie,再跳轉(zhuǎn) setcookie('name','web'); header('Location:Demo8.php'); }else{ header('Location:Demo6.php'); } ?>
Demo8.php
<?php if(isset($_COOKIE['name'])){ echo '歡迎光臨:'.$_COOKIE['name']; }else { echo '非法登錄'; } ?>
Demo9.php
<?php session_start(); //開(kāi)戶 session 會(huì)話處理 //session 只要用到這個(gè),就必須開(kāi)啟session_start() //放在文件開(kāi)頭 //創(chuàng)建 session ,直接采用超級(jí)全局變量賦值即可 //session 是存在服務(wù)器端,一般存放 1440 秒, //如果網(wǎng)頁(yè)沒(méi)有任何操作,會(huì)自動(dòng)銷毀,當(dāng)然,可以通過(guò) php.ini 去修改保存時(shí)間 //如果關(guān)閉了瀏覽器,那么也自動(dòng)銷毀。 //及時(shí)性,不像 cookie 會(huì)慢半拍 $_SESSION['name1'] = 'oneStopWeb'; $_SESSION['name2'] = 'oneStopWeb'; //echo $_SESSION['name']; // if(isset($_SESSION['name'])){ // echo $_SESSION['name']; // }else{ // echo '不存在此人。'; // } //不是刪除的方法 // $_SESSION['name'] = ''; //真正的刪除方法 //unset($_SESSION['name']); // if(isset($_SESSION['name'])){ // echo $_SESSION['name']; // }else{ // echo '不存在此人。'; // } ?>
Demo10.php
<?php session_start(); //銷毀所有 session ,銷毀的也慢半拍 session_destroy(); echo $_SESSION['name1'] ; echo $_SESSION['name2'] ; //cookie適用于會(huì)員登錄,購(gòu)物車啊。。。 //因?yàn)樗徽加梅?wù)器資源,所以會(huì)員特別多,購(gòu)物車特別多的,就用 cookie //session 一般用于后臺(tái)管理登錄,人少 //安全性,一段時(shí)間不操作會(huì)自動(dòng)過(guò)期 ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP中cookie用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP會(huì)話控制:Session與Cookie詳解
- PHP5中Cookie與 Session使用詳解
- php中如何同時(shí)使用session和cookie來(lái)保存用戶登錄信息
- php session和cookie使用說(shuō)明
- php設(shè)置session值和cookies的學(xué)習(xí)示例
- 深入理解PHP中的Session和Cookie
- 詳解PHP中cookie和session的區(qū)別及cookie和session用法小結(jié)
- PHP基于cookie與session統(tǒng)計(jì)網(wǎng)站訪問(wèn)量并輸出顯示的方法
- PHP中cookie和session的區(qū)別實(shí)例分析
- php禁用cookie后session設(shè)置方法分析
- 解析PHP的Yii框架中cookie和session功能的相關(guān)操作
- PHP cookie與session會(huì)話基本用法實(shí)例分析
相關(guān)文章
php實(shí)現(xiàn)獲取及設(shè)置用戶訪問(wèn)頁(yè)面語(yǔ)言類
這篇文章主要介紹了php實(shí)現(xiàn)獲取及設(shè)置用戶訪問(wèn)頁(yè)面語(yǔ)言類,可實(shí)現(xiàn)獲取/設(shè)置用戶訪問(wèn)的頁(yè)面語(yǔ)言,如果用戶沒(méi)有設(shè)置訪問(wèn)語(yǔ)言,則讀取Accept-Language,需要的朋友可以參考下2014-09-09PHP獲取redis里不存在的6位隨機(jī)數(shù)應(yīng)用示例【設(shè)置24小時(shí)過(guò)時(shí)】
這篇文章主要介紹了PHP獲取redis里不存在的6位隨機(jī)數(shù)的方法,可設(shè)置24小時(shí)過(guò)時(shí)限制,涉及php字符串及數(shù)據(jù)庫(kù)相關(guān)操作技巧,需要的朋友可以參考下2017-06-06解析數(shù)組非數(shù)字鍵名引號(hào)的必要性
以下是對(duì)數(shù)組非數(shù)字鍵名引號(hào)的必要性進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08Win2003下IIS+PHP+MySQL+Zend配置步驟詳解
Win2003下IIS+PHP+MySQL+Zend配置步驟詳解...2007-05-05php關(guān)于array_multisort多維數(shù)組排序的使用說(shuō)明
對(duì)于PHP語(yǔ)言中的多維數(shù)組排序時(shí)最為復(fù)雜的一個(gè)排序方式。我們?cè)趯?shí)際編碼中將會(huì)用到PHP函數(shù)array_multisort()來(lái)實(shí)現(xiàn)這一復(fù)雜的排序。2011-01-01php中多維數(shù)組按指定value排序的實(shí)現(xiàn)代碼
這篇文章主要介紹了php中多維數(shù)組按指定value排序的實(shí)現(xiàn)代碼,可以實(shí)現(xiàn)類似數(shù)據(jù)庫(kù)排序字段的排序效果,需要的朋友可以參考下2014-08-08完美解決令人抓狂的zend studio 7代碼提示(content Assist)速度慢的問(wèn)題
本篇文章是對(duì)解決令人抓狂的zend studio 7代碼提示(content Assist)速度慢的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP中對(duì)緩沖區(qū)的控制實(shí)現(xiàn)代碼
在PHP 4.0里面加入了緩沖區(qū)控制的幾個(gè)函數(shù),使用這些函數(shù)可以幫我們解決很多問(wèn)題2013-09-09