程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php session應用實例 登錄驗證

php session應用實例 登錄驗證

編輯:關於PHP編程

復制代碼 代碼如下:
<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'];
//執行SQL語句獲得Session的值
$query = @mysql_query("select username, userflag from users "
."where username = '$username' and passcode = '$passcode'")
or die("SQL語句執行失敗");
//判斷用戶是否存在,密碼是否正確
if($row = mysql_fetch_array($query))
{
session_start(); //標志Session的開始
//判斷用戶的權限信息是否有效,如果為1或0則說明有效
if($row['userflag'] == 1 or $row['userflag'] == 0)
{
$_SESSION['username'] = $row['username'];
$_SESSION['userflag'] = $row['userflag'];
echo "<a href="main.php" href="main.php">歡迎登錄,點擊此處進入歡迎界面</a>";
}
else //如果權限信息無效輸出錯誤信息
{
echo "用戶權限信息不正確";
}
}
else //如果用戶名和密碼不正確,則輸出錯誤
{
echo "用戶名或密碼錯誤";
}
?>

復制代碼 代碼如下:
<?php
unset($_SESSION['username']);
unset($_SESSION['passcode']);
unset($_SESSION['userflag']);
echo "注銷成功";
?>

復制代碼 代碼如下:
<?php
session_start();
if(isset($_SESSION['username']))
{
@mysql_connect("localhost", "root","1981427") //選擇數據庫之前需要先連接數據庫服務器
or die("數據庫服務器連接失敗");
@mysql_select_db("test") //選擇數據庫mydb
or die("數據庫不存在或不可用");
//獲取Session
$username = $_SESSION['username'];
//執行SQL語句獲得userflag的值
$query = @mysql_query("select userflag from users "
."where username = '$username'")
or die("SQL語句執行失敗");
$row = mysql_fetch_array($query);
//判斷當前數據庫中的權限信息與Session中的信息比較,如果不同則更新Session的信息
if($row['userflag'] != $_SESSION['userflag'])
{
$_SESSION['userflag'] = $row['userflag'];
}
//根據Session的值輸出不同的歡迎信息
if($_SESSION['userflag'] == 1)
echo "歡迎管理員".$_SESSION['username']."登錄系統";
if($_SESSION['userflag'] == 0)
echo "歡迎用戶".$_SESSION['username']."登錄系統";
echo "<a href="logout.php" href="logout.php">注銷</a>";
}
else
{
echo "您沒有權限訪問本頁面";
}
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved