用PHP写的MySQL数据库用户认证系统代码


Posted in PHP onMarch 22, 2007

这两天受朋友的托付,要我帮他写一个使用MySQL数据库的用户认证系统。我当然不好推脱的,只得耗费了一晚上的休息时间,写了个很简单的PHP程序。 
用户认证的原理很简单:首先需要用户在页面上填入用户名和密码,当然没注册的用户需要先注册。然后调用数据库搜索是否有相应的用户。如果有就确认,没有则提醒用户先注册。使用PHP来完成这一切很简单,但需要注意的是如果想在以后的页面中都能确认用户身份,使用PHP3我只能想出使用cookie的方法。要想使用session,就只能等待PHP4正式版的发布了! 
第一步是做一个登录的页面,这儿就不多讲了。我只做了个极简单的,大家可以做得漂亮点。 
第二步开始登录后的确认程序的设计。 
login.php:? 

mysql_connect("localhost","user","password")   
/*连接数据库,用户名和密码自行修改*/   
or die("无法连接数据库,请重试");   
mysql_select_db("userinfo")   
or die("无法选择数据库,请重试");   
$today=date("Y-m-d H:i:s");   
$query="   
select id   
from usertbl   
where name=$name and password=$password   
/*从数据库中搜索和登录用户相应的资料*/   
";   
$result=mysql_query($query);   
$numrows=mysql_num_rows($result);   
if($numrows==0){   
/*验证是否能找出相同资料的用户,不能则未注册*/   
echo 非法用户  echo 请注册先  
echo 重试  
}   
else{   
$row=mysql_fetch_array($result);   
$id=$row[0];   
$query="   
update usertbl   
set lastlogin=$today   
where id=$id";   
$result=mysql_query($query);   
SetCookie("usercookie", "欢迎你,$name");  
 /*这里使用了cookie,以方便之后的页面认证。  
但我未开发完这一块。希望有兴趣的朋友指正*/   
echo 登录成功  
echo 请进!  
}   
?> 

第三步当然是做好注册的页面,也不多讲了。 
第四步是注册后的身份确认和输入数据库。 
register.php: 
mysql_connect("localhost","user","password") /*请修改用户名和密码*/   
or die("无法连接数据库,请重试");   
mysql_select_db("userinfo")   
or die("无法选择数据库,请重试");   
$query="select id from usertbl where name=$name\";  
 /*从数据库中搜索相同名字的用户资料*/   
$result=mysql_query($query);   
$numrows=mysql_num_rows($result);   
if($numrows!=0) /*找到了当然就是有人先注册了相同的名字*/   
{echo 已有人注册此名,请重新选择名字!;}   
else   
{$query="insert into usertbl values(0,$name,$password,\)";  
 /*找不到相同的就输入新的用户资料*/   
mysql_query($query);   
echo 注册成功;   
echo 请登录!;}   
?> 
下一步是cookie的使用,我原打算使用cookie来使每一页都能识别用户身份,但由于别的页面还没做好,不知道需要用到哪些资料。于是就只有一个很简单的使用,这里用到了php的引用: 
if(!$usercookie)   
{header("非法用户");   
}   
?>   
welcome.php:   
require("cookie.php"); /*调用cookie.php*/   
?>   
echo $usercookie;   
?> 
到这儿便完成了一个很简单的用户认证系统,当然如果你要使用它还得建好数据库。下面是我的数据库表的结构,库的名字是userinfo。 
create table usertbl   
(   
ID int auto_increment primary key,   
Name varchar(30),   
Password varchar(20),   
Lastlogin varchar(20)   
); 
PHP 相关文章推荐
php实现的获取网站备案信息查询代码(360)
Sep 23 PHP
php页码形式分页函数支持静态化地址及ajax分页
Mar 28 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
Feb 10 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
php post json参数的传递和接收处理方法
May 31 PHP
PHP面向对象类型约束用法分析
Jun 12 PHP
人尽可用的Windows技巧小贴士之下篇
Mar 22 #PHP
加速XP搜索功能堪比vista
Mar 22 #PHP
dedecms中常见问题修改方法总结
Mar 21 #PHP
dedecms后台验证码总提示错误的解决方法
Mar 21 #PHP
dedecms中显示数字验证码的修改方法
Mar 21 #PHP
PHP的分页功能
Mar 21 #PHP
完美解决dedecms中的[html][/html]和[code][/code]问题
Mar 20 #PHP
You might like
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
2018/05/21 jQuery
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
实例讲解React 组件
2020/07/07 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
2017/09/26 Python
python中列表和元组的区别
2017/12/18 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
介绍一下Make? 为什么使用make
2013/12/08 面试题
EJB与JAVA BEAN的区别
2016/08/29 面试题
求职信模板标准格式范文
2014/02/23 职场文书
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
学校搬迁方案
2014/06/15 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
健康状况证明模板
2014/10/23 职场文书
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers