php之session會話控制
當瀏覽器將 cookie 資料關閉之後,網站使用cookie傳遞將不能進行,而url參數傳遞還是能夠進行(session),其實編寫php的session會話控制整體和cookie會話控制一樣
首先建立編寫要用到的php檔案
這一步是和 cookie 一樣,其實session也可以通過cookie進行傳遞,在 cookie的基礎上在開的頭開啟session:session_start()
下面要注意的是,login.php 的跳轉頁面不能使用header 而只能通過 javascript 進行跳轉
//跳轉介面echo '';
然後將 $_COOKIE[ ] 改為 $_SESSION[ ] 即可
session 通過 cookie傳遞就是這樣,下面主要是講解一下 url參數傳遞
第一種:通過sid的方式進行參數傳遞,即在連結或表單後加上 “?sid=”
這種方法也可以使用設定檔中的PHPSESSID來替換sid,也能達到一樣的效果
login.php
login.php 的php部分也稍作修改
; //跳轉頁面不能不是header if(isset($_POST[sub])){ include conn.inc.php; $sql=select id from users where name='{$_POST[name]}' and password='.md5($_POST[password]).'; $result=$mysqli->query($sql); //儲存資料 if($result->num_rows > 0){ $row=$result->fetch_assoc(); $_SESSION[username]=$_POST[name]; $_SESSION[uid]=$_POST[uid]; $_SESSION[isLogin5]=1; //跳轉介面 echo ''; } echo 使用者名稱密碼有誤; }?>其它頁面只要在連結後面加上 “?sid=” 即可
登出程式不像cookie那樣,分四步:開啟、清空、刪除和徹底銷毀
//開啟session session_start(); //情況session值 $_SESSION=array(); //刪除用戶端的在cookie中的sessionid if(isset($_COOKIE[session_name()])){ setCookie(session_name(),'',time()-3600,'/'); //一定要寫上第四個參數(路徑) } //徹底銷毀session session_destroy();
第二種,不需要設定根據瀏覽器是否開啟cookie資料功能而自動選擇用cookie還是session進行傳遞
a、 連結或表單後面都加上 ”?“, 這個跟通過sid傳遞相似,不過SID是常數
index.php:
>第二頁 >第三頁 >退出
login.php:
//跳轉介面 echo '';
method=post>
使用者登入
b、修改php.ini設定檔
代碼基本和cookie傳遞的一樣,就只是開頭需要開啟session:session_start();
作法:將設定檔中 session.use_trans_sid 的值改為 1
作用:在所有連結的地方預設加上 PHPSESSID 的形式
http://www.bkjia.com/PHPjc/970254.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/970254.htmlTechArticlephp之session會話控制 當瀏覽器將 cookie 資料關閉之後,網站使用cookie傳遞將不能進行,而url參數傳遞還是能夠進行(session),其實編寫php的se...