本文實(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ò)期?>
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選