php cookie 登录验证示例代码


Posted in PHP onMarch 16, 2009
<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 "注销成功"; 
?>
PHP 相关文章推荐
PHP 截取字符串专题集合
Aug 19 PHP
PHP获取网址的顶级域名函数代码
Sep 24 PHP
php jq jquery getJSON跨域提交数据完整版
Sep 13 PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
PHP合并静态文件详解
Nov 14 PHP
php实现兼容2038年后Unix时间戳转换函数
Mar 18 PHP
php实现编辑和保存文件的方法
Jul 20 PHP
PHP实现的简单分页类及用法示例
May 06 PHP
PHP封装返回Ajax字符串和JSON数组的方法
Feb 17 PHP
php基于数组函数实现关联表的编辑操作示例
Jul 04 PHP
php 删除cookie和浏览器重定向
Mar 16 #PHP
php cookis创建实现代码
Mar 16 #PHP
php session应用实例 登录验证
Mar 16 #PHP
php session处理的定制
Mar 16 #PHP
php session 检测和注销
Mar 16 #PHP
php session 预定义数组
Mar 16 #PHP
php 无限级缓存的类的扩展
Mar 16 #PHP
You might like
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
Vue指令指令大全
2019/02/09 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
python下载文件时显示下载进度的方法
2015/04/02 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
Python简单生成随机数的方法示例
2018/03/31 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
opencv实现简单人脸识别
2021/02/19 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
2014年银行员工年终自我评价
2014/09/19 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
详解Django中 render() 函数的使用方法
2021/04/22 Python
Python入门之基础语法详解
2021/05/11 Python
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL