用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 相关文章推荐
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
php如何调用webservice应用介绍
Nov 24 PHP
php中的比较运算符详解
Oct 28 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
php返回字符串中所有单词的方法
Mar 09 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
Oct 20 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
Mar 05 PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 PHP
PHP实现模拟http请求的方法分析
Dec 20 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
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
PHP生成树的方法
2015/07/28 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
美化环境标语
2014/06/20 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
英语感谢信范文
2015/01/20 职场文书
歼十出击观后感
2015/06/11 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
php引用传递
2021/04/01 PHP
HTML常用标签超详细整理
2022/03/19 HTML / CSS