用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&mysql(六)
Oct 09 PHP
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
PHP导入Excel到MySQL的方法
Apr 23 PHP
PHP递归调用的小技巧讲解
Feb 19 PHP
php 无法加载mcrypt.dll的解决办法
Apr 03 PHP
探讨如何在php168_cms中提取验证码
Jun 08 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
php png失真的原因及解决办法
Nov 17 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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
php简单实现快速排序的方法
2015/04/04 PHP
php微信开发之关注事件
2018/06/14 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
吃透移动端 1px的具体用法
2019/12/16 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
计算机专业个人求职信范例
2013/09/23 职场文书
绩效专员岗位职责
2013/12/02 职场文书
环保专业大学生职业规划设计
2014/01/10 职场文书
观看信仰心得体会
2014/09/04 职场文书
公司财务管理制度
2015/08/04 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers