用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中使用sockets:从新闻组中获取文章
Oct 09 PHP
php adodb操作mysql数据库
Mar 19 PHP
php中使用Imagick实现图像直方图的实现代码
Aug 30 PHP
解析htaccess伪静态的规则
Jun 18 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
php文件系统处理方法小结
May 23 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
Jul 31 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
vue将data恢复到初始状态 && 重新渲染组件实例
2020/09/04 Javascript
Python  连接字符串(join %)
2008/09/06 Python
使用python实现rsa算法代码
2016/02/17 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
儿童编程python入门
2018/05/08 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
python文字转语音的实例代码分析
2019/11/12 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
Python爬取某平台短视频的方法
2021/02/08 Python
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
化学教学随笔感言
2014/02/19 职场文书
社区消防工作实施方案
2014/03/21 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
开学第一天的感想
2015/08/10 职场文书
护理自荐信
2019/05/14 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
Oracle表空间与权限的深入讲解
2021/11/17 Oracle