用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入门学习知识点五 关于php数组的几个基本操作
Jul 14 PHP
用php实现选择排序的解决方法
May 04 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
Yii rules常用规则示例
Mar 15 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 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框架Phpbean说明
2008/01/10 PHP
PHP 可阅读随机字符串代码
2010/05/26 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
2011/01/07 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
php的扩展写法总结
2019/05/14 PHP
JS IE和FF兼容性问题汇总
2009/02/09 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
改变状态栏文字的js代码
2014/06/13 Javascript
浅析JavaScript动画
2015/06/10 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
Python入门篇之字典
2014/10/17 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
对Python random模块打乱数组顺序的实例讲解
2018/11/08 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
python的列表List求均值和中位数实例
2020/03/03 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
人力资源专业推荐信
2013/11/29 职场文书
工作表现自我评价
2014/02/08 职场文书
村庄绿化方案
2014/05/07 职场文书
奥运会口号
2014/06/13 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
小班上学期个人总结
2015/02/12 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL