程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 關於MySQL數據庫的用戶認證系統分析

關於MySQL數據庫的用戶認證系統分析

編輯:關於MYSQL數據庫

這兩天受朋友的托付,要我幫他寫一個使用MySQL數據庫的用戶認證系統。我當然不好推脫的,只得耗費了一晚上的休息時間,寫了個很簡單的PHP程序。由於趕的很倉卒,可能會太簡陋了些,而且可能還會有錯誤和漏洞。有興趣看看的朋友如果有什麼更好的方法或建議,請email我.在這兒先謝謝了!

用戶認證的原理很簡單:首先需要用戶在頁面上填入用戶名和密碼,當然沒注冊的用戶需要先注冊。然後調用數據庫搜索是否有相應的用戶。如果有就確認,沒有則提醒用戶先注冊。使用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)

);


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved