PHP中的會話控制(一) cookie

2021-07-26 16:28:38 字數 2912 閱讀 2298

什麼是會話控制

會話控制是一種面向連線的可靠通訊方式,通常根據會話控制判斷使用者登入的行為。

會話控制的思想就是允許伺服器跟蹤同乙個客戶端做出的連續請求。

會話控制可以記錄客戶登入行為,所以不必每瀏覽乙個頁面都去重複登入。對於同乙個使用者的請求還可以在多個頁面之間為其共享資料。

兩種會話控制方式:cookie和session。

什麼是cookie

cookie是一種有伺服器傳送給客戶端的一段資訊,儲存在客戶端瀏覽器的記憶體或硬碟上,在客戶對該服務請求時發回它。如此不必在連線伺服器時,再同過網路傳輸處理這些資訊,進而提高網頁處理效率,降低伺服器負擔。

php中基於cookie的使用者登入案例

連線資料庫檔案conn.php,**如下:

<?php

$mysqli = new mysqli("localhost", "root", "root", "demo");

?>

使用者登入頁面login.php,處理登入行為,如果登陸成功,則將登陸資訊儲存到cookie,**如下:

<?php

if(isset($_post['sub']))' and password = '".md5($_post['password'])."'"; //sql查詢語句

$result = $mysqli->query($sql); //查詢結果記錄集

if($result->num_rows > 0)

echo

"使用者名稱密碼有誤!";

登陸title>

rel="stylesheet"

href="">

head>

action=""

method="post">

align="center"

border="1"

width="300">

使用者登入h1>

caption>

使用者名稱th>

type="text"

name="username" />

td>

tr>

密碼th>

type="password"

name="password" />

td>

tr>

colspan="2"

align="center">

type="submit"

name="sub"

value="登陸" />

td>

tr>

table>

form>

body>

html>

判斷登入是否成功common.php,如果不成功,依然返回登陸介面,**如下:

<?php

/** * @author: mrhengbing

* @email: [email protected]

* @create time: 2016-12-02 15:50:17

* @last modified by: mrhengbing

* @last modified time: 2016-12-02 15:51:07

*/if(!$_cookie['islogin'])

?>

登陸成功頁面index.php,可以從cookie中讀取登入資訊,**如下:

<?php

header("content-type:text/html;charset=utf-8"); //設定頁面內容是html,編碼格式是utf-8

include "common.php"; //判斷是否成功登入

include "conn.php"; //連線資料庫

echo "使用者".$_cookie["username"].",你好!";

href="logout.php">退出登入a>

body>

html>

退出登入頁面logout.php,該頁面清除cookie資訊,**如下:

<?php

include "common.php";

$username = $_cookie["username"]; //提取cookie資訊

//清除cookie資訊

setcookie("username");

setcookie("uid", "", time()-3600);

setcookie("islogin");

echo $username." 再見!";

href="login.php">重新登陸!a>

body>

html>

ps:關於setcookie()的用法參考:php:setcookie

PHP中的會話控制(2)

例 va lue som ethi ngfr omso mewh ere set cook ie test cook ie value setcookie testcookie va lue,time 3600 1小 時過期 set cook ie test cook ie value,time 3...

PHP會話控制

簡述 http協議是無狀態的。那個瀏覽器如何區分每個使用者呢?php會話控制會給每乙個使用者一把鑰匙 加密的session id 同時這個也是使用者的乙個標識,伺服器端存放這把鑰匙的所有資訊 資料庫 檔案 記憶體資料庫 那麼這把鑰匙放到那呢?兩種方法 1是存在每個url中 2是存在會話中,也就是常說...

PHP會話控制

區別 a 存放位置不一樣 b 安全級別不同 因為cookie是存放到客戶端上,所以cookie內容可以被修改。相對cookie是不安全。不建議將一些敏感資訊存放到cookie中。c 大小不一樣 單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie。理論上認為se...