php 使用cookie判断登录
首次登录时,先验证用户是否存在,如果存在,则写入cookie,并且设置过期期限。然后跳到欢迎界面,判断用户类型,显示欢迎界面。退出时清除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>
复制代码 验证用户: login.php 代码如下:
<?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 "用户名或密码错误";
}
?>
复制代码 判断用户类型:
main.php 代码如下:
<?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 "您没有权限访问本页面";
}
?>
复制代码 注销用户:logout.php 代码如下:
<?php
setcookie("username");
echo "注销成功";
?>
<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>
复制代码 验证用户: login.php 代码如下:
<?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 "用户名或密码错误";
}
?>
复制代码 判断用户类型:
main.php 代码如下:
<?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 "您没有权限访问本页面";
}
?>
复制代码 注销用户:logout.php 代码如下:
<?php
setcookie("username");
echo "注销成功";
?>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: mysql查询今天、昨天、7天、近30天、本月、上一月 数据
- 下一篇:没有了
