PHP Cookie登錄驗證技巧講解
作者:佚名
PHP Cookie登錄驗證的實現對于一個剛剛接觸PHP語言得不久的人來說是比較難以了解的。希望通過這篇文章的介紹大家能夠充分掌握這一方法的運用。
一個網站的建設目的就是功能的完整性。其中有一個功能就是用戶登錄驗證的實現。下面我們就向大家詳細介紹有關PHP Cookie登錄驗證的相關實現方法。#t#
PHP Cookie登錄驗證代碼示例:
- < html>
- < head>
- < title>Login< /title>
- < meta http-equiv="Content-Type"
content="text/html; charset=gb2312"> - < /head>
- < body>
- < form name="form1" method="post"
action="login.php"> - < table width="300" border="0" align="center"
cellpadding="2" cellspacing="2"> - < tr>
- < td width="150">< div align="right">
用戶名:< /div>< /td> - < td width="150">< input type="text"
name="username">< /td> - < /tr>
- < tr>
- < td>< div align="right">密碼:< /div>< /td>
- < td>< input type="password" name="passcode">< /td>
- < /tr>
- < tr>
- < td>< div align="right">Cookie保存時間:< /div>< /td>
- < td>< select name="cookie" id="cookie">
- < option value="0" selected>瀏覽器進程< /option>
- < option value="1">保存1天< /option>
- < option value="2">保存30天< /option>
- < option value="3">保存365天< /option>
- < /select>< /td>
- < /tr>
- < /table>
- < p align="center">
- < input type="submit" name="Submit" value="Submit">
- < input type="reset" name="Reset" value="Reset">
- < /p>
- < /form>
- < /body>
- < /html>
- < ?php
- @mysql_connect("localhost", "root","1981427")
//選擇數據庫之前需要先連接數據庫服務器- or die("數據庫服務器連接失敗");
- @mysql_select_db("test") //選擇數據庫mydb
- or die("數據庫不存在或不可用");
- //獲取用戶輸入
- $username = $_POST['username'];
- $passcode = $_POST['passcode'];
- $cookie = $_POST['cookie'];
- //執行SQL語句
- $query = @mysql_query("select username,
userflag from users "- ."where username = '$username' and
passcode = '$passcode'")- or die("SQL語句執行失敗");
- //判斷用戶是否存在,密碼是否正確
- if($row = mysql_fetch_array($query))
- {
- if($row['userflag'] == 1 or $row['userflag'] == 0)
//判斷用戶權限信息是否有效- {
- switch($cookie) //根據用戶的選擇設置cookie保存時間
- {
- case 0: //保存Cookie為瀏覽器進程
- setcookie("username", $row['username']);
- break;
- case 1: //保存1天
- setcookie("username", $row['username'],
time()+24*60*60);- break;
- case 2: //保存30天
- setcookie("username", $row['username'],
time()+30*24*60*60);- break;
- case 3: //保存365天
- setcookie("username", $row['username'],
time()+365*24*60*60);- break;
- }
- header("location: main.php");
//自動跳轉到main.php- }
- else
- {
- echo "用戶權限信息不正確";
- }
- }
- else
- {
- echo "用戶名或密碼錯誤";
- }
- ?>
PHP Cookie登錄驗證代碼實例:
- < ?php
- session_start();
- if(isset($_COOKIE['username']))
- {
- @mysql_connect("localhost", "root","1981427")
- //選擇數據庫之前需要先連接數據庫服務器
- or die("數據庫服務器連接失敗");
- @mysql_select_db("test") //選擇數據庫mydb
- or die("數據庫不存在或不可用");
- //獲取Session
- $username = $_COOKIE['username'];
- //執行SQL語句獲得userflag的值
- $query = @mysql_query("select
userflag from users "- ."where username = '$username'")
- or die("SQL語句執行失敗");
- $row = mysql_fetch_array($query);
- //獲得用戶權限信息
- $flag = $row['userflag'];
- //根據userflag的值輸出不同的歡迎信息
- if($flag == 1)
- echo "歡迎管理員".$_SESSION['username']
."登錄系統";- if($flag == 0)
- echo "歡迎用戶".$_SESSION['username']
."登錄系統";- echo "< a href="logout.php"
href="logout.php">注銷< /a>";- }
- else
- {
- echo "您沒有權限訪問本頁面";
- }
- ?>
- < ?php
- setcookie("username");
- echo "注銷成功";
- ?>
以上及時PHP Cookie登錄驗證的實現方法。
責任編輯:曹凱
來源:
新浪博客