用PHP寫的MySQL數(shù)據(jù)庫用戶認證系統(tǒng)代碼
更新時間:2007年03月22日 00:00:00 作者:
這兩天受朋友的托付,要我?guī)退麑懸粋€使用MySQL數(shù)據(jù)庫的用戶認證系統(tǒng)。我當然不好推脫的,只得耗費了一晚上的休息時間,寫了個很簡單的PHP程序。
用戶認證的原理很簡單:首先需要用戶在頁面上填入用戶名和密碼,當然沒注冊的用戶需要先注冊。然后調(diào)用數(shù)據(jù)庫搜索是否有相應的用戶。如果有就確認,沒有則提醒用戶先注冊。使用PHP來完成這一切很簡單,但需要注意的是如果想在以后的頁面中都能確認用戶身份,使用PHP3我只能想出使用cookie的方法。要想使用session,就只能等待PHP4正式版的發(fā)布了!
第一步是做一個登錄的頁面,這兒就不多講了。我只做了個極簡單的,大家可以做得漂亮點。
第二步開始登錄后的確認程序的設計。
login.php:
mysql_connect("localhost","user","password")
/*連接數(shù)據(jù)庫,用戶名和密碼自行修改*/
or die("無法連接數(shù)據(jù)庫,請重試");
mysql_select_db("userinfo")
or die("無法選擇數(shù)據(jù)庫,請重試");
$today=date("Y-m-d H:i:s");
$query="
select id
from usertbl
where name=$name and password=$password
/*從數(shù)據(jù)庫中搜索和登錄用戶相應的資料*/
";
$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,以方便之后的頁面認證。
但我未開發(fā)完這一塊。希望有興趣的朋友指正*/
echo 登錄成功
echo 請進!
}
?>
第三步當然是做好注冊的頁面,也不多講了。
第四步是注冊后的身份確認和輸入數(shù)據(jù)庫。
register.php:
mysql_connect("localhost","user","password") /*請修改用戶名和密碼*/
or die("無法連接數(shù)據(jù)庫,請重試");
mysql_select_db("userinfo")
or die("無法選擇數(shù)據(jù)庫,請重試");
$query="select id from usertbl where name=$name\";
/*從數(shù)據(jù)庫中搜索相同名字的用戶資料*/
$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"); /*調(diào)用cookie.php*/
?>
echo $usercookie;
?>
到這兒便完成了一個很簡單的用戶認證系統(tǒng),當然如果你要使用它還得建好數(shù)據(jù)庫。下面是我的數(shù)據(jù)庫表的結構,庫的名字是userinfo。
create table usertbl
(
ID int auto_increment primary key,
Name varchar(30),
Password varchar(20),
Lastlogin varchar(20)
);
用戶認證的原理很簡單:首先需要用戶在頁面上填入用戶名和密碼,當然沒注冊的用戶需要先注冊。然后調(diào)用數(shù)據(jù)庫搜索是否有相應的用戶。如果有就確認,沒有則提醒用戶先注冊。使用PHP來完成這一切很簡單,但需要注意的是如果想在以后的頁面中都能確認用戶身份,使用PHP3我只能想出使用cookie的方法。要想使用session,就只能等待PHP4正式版的發(fā)布了!
第一步是做一個登錄的頁面,這兒就不多講了。我只做了個極簡單的,大家可以做得漂亮點。
第二步開始登錄后的確認程序的設計。
login.php:
復制代碼 代碼如下:
mysql_connect("localhost","user","password")
/*連接數(shù)據(jù)庫,用戶名和密碼自行修改*/
or die("無法連接數(shù)據(jù)庫,請重試");
mysql_select_db("userinfo")
or die("無法選擇數(shù)據(jù)庫,請重試");
$today=date("Y-m-d H:i:s");
$query="
select id
from usertbl
where name=$name and password=$password
/*從數(shù)據(jù)庫中搜索和登錄用戶相應的資料*/
";
$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,以方便之后的頁面認證。
但我未開發(fā)完這一塊。希望有興趣的朋友指正*/
echo 登錄成功
echo 請進!
}
?>
第三步當然是做好注冊的頁面,也不多講了。
第四步是注冊后的身份確認和輸入數(shù)據(jù)庫。
register.php:
復制代碼 代碼如下:
mysql_connect("localhost","user","password") /*請修改用戶名和密碼*/
or die("無法連接數(shù)據(jù)庫,請重試");
mysql_select_db("userinfo")
or die("無法選擇數(shù)據(jù)庫,請重試");
$query="select id from usertbl where name=$name\";
/*從數(shù)據(jù)庫中搜索相同名字的用戶資料*/
$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 請登錄!;}
?>
復制代碼 代碼如下:
if(!$usercookie)
{header("非法用戶");
}
?>
welcome.php:
require("cookie.php"); /*調(diào)用cookie.php*/
?>
echo $usercookie;
?>
復制代碼 代碼如下:
create table usertbl
(
ID int auto_increment primary key,
Name varchar(30),
Password varchar(20),
Lastlogin varchar(20)
);
相關文章
laravel框架模板之公共模板、繼承、包含實現(xiàn)方法分析
這篇文章主要介紹了laravel框架模板之公共模板、繼承、包含實現(xiàn)方法,結合實例形式分析了Laravel框架中公共模板的建立、模板包含、模板繼承等相關操作技巧,需要的朋友可以參考下2019-08-08tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫的方法
這篇文章主要介紹了tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫的方法,結合實例形式簡單分析了mongoDB數(shù)據(jù)庫及thinkPHP5連接、查詢MongoDB數(shù)據(jù)庫的基本操作技巧,需要的朋友可以參考下2018-01-01php中PDO方式實現(xiàn)數(shù)據(jù)庫的增刪改查
PDO是mysql數(shù)據(jù)庫操作的一個公用類了,我們不需要進行自定類就可以直接使用pdo來操作數(shù)據(jù)庫了,但是在php默認配置中pdo是未開啟所以我們必須先在php.ini中開啟它才可以使用。2015-05-05TP5框架實現(xiàn)的數(shù)據(jù)庫備份功能示例
這篇文章主要介紹了TP5框架實現(xiàn)的數(shù)據(jù)庫備份功能,結合實例形式分析了TP5數(shù)據(jù)庫備份功能相關原理及實現(xiàn)方法,需要的朋友可以參考下2020-04-04Laravel框架實現(xiàn)利用監(jiān)聽器進行sql語句記錄功能
這篇文章主要介紹了Laravel框架實現(xiàn)利用監(jiān)聽器進行sql語句記錄功能,結合實例形式分析了Laravel框架監(jiān)聽器的創(chuàng)建、引入以及使用監(jiān)聽器記錄sql語句的相關操作技巧,需要的朋友可以參考下2018-06-06