php cookie 登录验证示例代码

2018-09-21 08:56

阅读:387

  复制代码 代码如下:
<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
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 注销成功;
?>


评论


亲,登录后才可以留言!