本文實例講述了PHP會話控制技巧。分享給大家供大家參考,具體如下:
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 //創建一個 Cookie //Cookie 是在你的客戶機存一個小文件,這個文件包含你登錄時的信息 //setcookie 可以創建一個客戶機的 cookie 文件 //第一個參數表示 cookie 的名稱,第二個參數表示這個 cookie 名稱的值 //所謂的會話結束時,就是當你這個浏覽器關閉時,就沒有了,就自動刪除 //創建一個包含過期的 cookie, 過期時間采用當前的時間戳 + 秒即可 //time()+(7*24*60*60) 表示未來的7 天 //一旦 setcookie 改變了,一刷新浏覽器,就會把舊的 cookie 覆蓋掉 setcookie('name','oneStopWeb',time()+(7*24*60*60)); ?>
Demo4.php
<?php setcookie('name','oneStopWeb'); //讀取本機的 cookie,采用一個超級全局變量 $_COOKIE //裡面放 cookie 名即可 //有一個特性,setcookie 並不是及時生成,它會慢一拍 //PS:慢一拍,第一次刷新,只是生成覆蓋了原來。 //但獲取的還是之前的,而第二次刷新,才能真正獲取到。 //echo $_COOKIE['name']; //用變量檢測函數來判斷 cookie 是否存在 if(isset($_COOKIE['name'])){ echo $_COOKIE['name']; }else{ echo '不存在此用戶'; } ?>
Demo5.php
<?php //刪除 cookie setcookie('name','oneStopWeb'); //中間刪除掉了這個 cookie //將這個值設置為空即可 //setcookie('name',''); //我將過期時間調整到目前的時間還少一秒,那麼就等於是過期的了 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 //如果姓名的指定的姓名相同,那麼就生成一個 cookie //完成登錄 if(isset($_POST['username']) && $_POST['username']=='oneStopWeb'){ //如果正確了,我生成一個 cookie,再跳轉 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(); //開戶 session 會話處理 //session 只要用到這個,就必須開啟session_start() //放在文件開頭 //創建 session ,直接采用超級全局變量賦值即可 //session 是存在服務器端,一般存放 1440 秒, //如果網頁沒有任何操作,會自動銷毀,當然,可以通過 php.ini 去修改保存時間 //如果關閉了浏覽器,那麼也自動銷毀。 //及時性,不像 cookie 會慢半拍 $_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適用於會員登錄,購物車啊。。。 //因為他不占用服務器資源,所以會員特別多,購物車特別多的,就用 cookie //session 一般用於後台管理登錄,人少 //安全性,一段時間不操作會自動過期 ?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP中cookie用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。