本文實例講述了PHP會話控制技巧。分享給大家供大家參考,具體如下:
Demo1.php
1
2
3
4
|
< form method = "get" action = "Demo2.php" > 姓名:< input type = "text" name = "username" /> < br /> < input type = "submit" value = "提交" /> </ form > |
Demo2.php
1
2
3
4
5
6
7
|
<?php //echo $_POST['username']; //如果表單采用的 get 傳輸,那么接受必須采用 echo $_GET [ 'username' ]; //到底那種比較好呢。???? //$_POST['']; 比較安全 ?> |
Demo3.php
1
2
3
4
5
6
7
8
9
10
11
|
<?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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php setcookie( 'name' , 'oneStopWeb' ); //讀取本機的 cookie,采用一個超級全局變量 $_COOKIE //里面放 cookie 名即可 //有一個特性,setcookie 并不是及時生成,它會慢一拍 //PS:慢一拍,第一次刷新,只是生成覆蓋了原來。 //但獲取的還是之前的,而第二次刷新,才能真正獲取到。 //echo $_COOKIE['name']; //用變量檢測函數來判斷 cookie 是否存在 if (isset( $_COOKIE [ 'name' ])){ echo $_COOKIE [ 'name' ]; } else { echo '不存在此用戶' ; } ?> |
Demo5.php
1
2
3
4
5
6
7
8
9
10
|
<?php //刪除 cookie setcookie( 'name' , 'oneStopWeb' ); //中間刪除掉了這個 cookie //將這個值設置為空即可 //setcookie('name',''); //我將過期時間調整到目前的時間還少一秒,那么就等于是過期的了 setcookie( 'name' , 'oneStopWeb' ,time()-1); echo $_COOKIE [ 'name' ]; ?> |
Demo6.php
1
2
3
4
|
<form method= "post" action= "Demo7.php" > 姓名:<input type= "text" name= "username" /> <br /> <input type= "submit" value= "提交" /> </form> |
Demo7.php
1
2
3
4
5
6
7
8
9
10
11
|
<?php //如果姓名的指定的姓名相同,那么就生成一個 cookie //完成登錄 if (isset( $_POST [ 'username' ]) && $_POST [ 'username' ]== 'oneStopWeb' ){ //如果正確了,我生成一個 cookie,再跳轉 setcookie( 'name' , 'web' ); header( 'Location:Demo8.php' ); } else { header( 'Location:Demo6.php' ); } ?> |
Demo8.php
1
2
3
4
5
6
7
|
<?php if (isset( $_COOKIE [ 'name' ])){ echo '歡迎光臨:' . $_COOKIE [ 'name' ]; } else { echo '非法登錄' ; } ?> |
Demo9.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php //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
1
2
3
4
5
6
7
8
9
10
11
|
<?php session_start(); //銷毀所有 session ,銷毀的也慢半拍 session_destroy(); echo $_SESSION [ 'name1' ] ; echo $_SESSION [ 'name2' ] ; //cookie適用于會員登錄,購物車啊。。。 //因為他不占用服務器資源,所以會員特別多,購物車特別多的,就用 cookie //session 一般用于后臺管理登錄,人少 //安全性,一段時間不操作會自動過期 ?> |
希望本文所述對大家PHP程序設計有所幫助。