用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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
php基础知识:控制结构
Dec 13 PHP
php使用curl存储cookie的示例
Mar 31 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
php中get_cfg_var()和ini_get()的用法及区别
Mar 04 PHP
PHP生成短网址方法汇总
Jul 12 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
Oct 23 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
js里面的变量范围分享
2020/07/18 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
Python实现大文件排序的方法
2015/07/10 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
python 实现判断ip连通性的方法总结
2018/04/22 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
实习生自荐信范文分享
2013/11/27 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
2014年三万活动总结
2014/04/26 职场文书
保护野生动物倡议书
2014/05/16 职场文书
班级课外活动总结
2014/07/09 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript
MySQL的存储过程和相关函数
2022/04/26 MySQL