php之cookie對話控制

來源:互聯網
上載者:User
php之cookie會話控制

通過cookie將使用者資料記錄在用戶端而不需要每次都從伺服器調用,這樣能提高網頁效率,降低伺服器的壓力

下面的例子類比一個登入介面的操作,使用cookie的調用

介面顯示(未進行美化)



根目錄下建立需要的檔案


index.php中,首先寫出的表格形式輸出

使用者登入
 

使用者登入

使用者名稱
密碼

因為要串連資料庫,並調用資料庫的資料,建立資料庫並建立一個資料庫調用的檔案

建立一個users的表,並插入資料,這裡資料插入資訊包括使用者名稱、密碼和許可權


在根目錄下建立 conn.inc.php 用於存放資料庫連接


conn.inc.php


login.php 中包含串連資料庫,使用mysqli方法,密碼使用 md5() 方法加密

query($sql);    //儲存資料    if($result->num_rows > 0){    $row=$result->fetch_assoc();    $time=time()*1800;    setCookie("username", $_POST["name"],$time);    setCookie("uid", $row["id"],$time);    setCookie("isLogin",1);    header("Location:index.php");  //跳轉介面    }    echo "使用者名稱密碼有誤";    }?>

注意cookie儲存資料時需要表明資料儲存的時間長度,儲存資料中返回 “username”,“uid”,“isLogin"

index.php 中涉及頁面跳轉,建立一個公用的跳轉頁面的類 comm.php

comm.php:如果傳回的是 “isLogin” 就進行跳轉


登入成功後跳轉到 index.php 頁面下,登入不成功就返回重新登入

index.php 包含 conn.inc.php 和 comm.php

".$_COOKIE["username"]."你好!這是網站首頁";    echo "你的許可權如下:
"; $sql="select allow_1,allow_2,allow_3,allow_4 from users where id='{$_COOKIE["uid"]}'"; $result=$mysqli->query($sql); $user=$result->fetch_assoc(); if($user["allow_1"]){ echo "111111111111
"; } if($user["allow_2"]){ echo "222222222222
"; } if($user["allow_3"]){ echo "333333333333
"; } if($user["allow_4"]){ echo "444444444444
"; } ?> 第二頁
第三頁
退出
最後第二頁、第三頁的寫法跟 index.php 一樣

登出 logout.php 需要登出使用者資訊


重新登入




完整代碼:

login.php:

query($sql);    //儲存資料    if($result->num_rows > 0){    $row=$result->fetch_assoc();    $time=time()*1800;    setCookie("username", $_POST["name"],$time);    setCookie("uid", $row["id"],$time);    setCookie("isLogin",1);    header("Location:index.php");  //跳轉介面    }    echo "使用者名稱密碼有誤";    }?>使用者登入
   

使用者登入

使用者名稱
密碼


















  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.