PHP Cookie登錄驗證技巧講解
作者:佚名
PHP Cookie登錄驗證的實現(xiàn)對于一個剛剛接觸PHP語言得不久的人來說是比較難以了解的。希望通過這篇文章的介紹大家能夠充分掌握這一方法的運用。
一個網(wǎng)站的建設(shè)目的就是功能的完整性。其中有一個功能就是用戶登錄驗證的實現(xiàn)。下面我們就向大家詳細介紹有關(guān)PHP Cookie登錄驗證的相關(guān)實現(xiàn)方法。#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")
//選擇數(shù)據(jù)庫之前需要先連接數(shù)據(jù)庫服務(wù)器- or die("數(shù)據(jù)庫服務(wù)器連接失敗");
- @mysql_select_db("test") //選擇數(shù)據(jù)庫mydb
- or die("數(shù)據(jù)庫不存在或不可用");
- //獲取用戶輸入
- $username = $_POST['username'];
- $passcode = $_POST['passcode'];
- $cookie = $_POST['cookie'];
- //執(zhí)行SQL語句
- $query = @mysql_query("select username,
userflag from users "- ."where username = '$username' and
passcode = '$passcode'")- or die("SQL語句執(zhí)行失敗");
- //判斷用戶是否存在,密碼是否正確
- if($row = mysql_fetch_array($query))
- {
- if($row['userflag'] == 1 or $row['userflag'] == 0)
//判斷用戶權(quán)限信息是否有效- {
- switch($cookie) //根據(jù)用戶的選擇設(shè)置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");
//自動跳轉(zhuǎn)到main.php- }
- else
- {
- echo "用戶權(quán)限信息不正確";
- }
- }
- else
- {
- echo "用戶名或密碼錯誤";
- }
- ?>
PHP Cookie登錄驗證代碼實例:
- < ?php
- session_start();
- if(isset($_COOKIE['username']))
- {
- @mysql_connect("localhost", "root","1981427")
- //選擇數(shù)據(jù)庫之前需要先連接數(shù)據(jù)庫服務(wù)器
- or die("數(shù)據(jù)庫服務(wù)器連接失敗");
- @mysql_select_db("test") //選擇數(shù)據(jù)庫mydb
- or die("數(shù)據(jù)庫不存在或不可用");
- //獲取Session
- $username = $_COOKIE['username'];
- //執(zhí)行SQL語句獲得userflag的值
- $query = @mysql_query("select
userflag from users "- ."where username = '$username'")
- or die("SQL語句執(zhí)行失敗");
- $row = mysql_fetch_array($query);
- //獲得用戶權(quán)限信息
- $flag = $row['userflag'];
- //根據(jù)userflag的值輸出不同的歡迎信息
- if($flag == 1)
- echo "歡迎管理員".$_SESSION['username']
."登錄系統(tǒng)";- if($flag == 0)
- echo "歡迎用戶".$_SESSION['username']
."登錄系統(tǒng)";- echo "< a href="logout.php"
href="logout.php">注銷< /a>";- }
- else
- {
- echo "您沒有權(quán)限訪問本頁面";
- }
- ?>
- < ?php
- setcookie("username");
- echo "注銷成功";
- ?>
以上及時PHP Cookie登錄驗證的實現(xiàn)方法。
責任編輯:曹凱
來源:
新浪博客