本文實例講述了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程序設計有所幫助。