网络编程 
首页 > 网络编程 > 浏览文章

用PHP写的MySQL数据库用户认证系统代码

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
这两天受朋友的托付,要我帮他写一个使用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中与数组相关的函数
下一篇:人尽可用的Windows技巧小贴士之下篇
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?