中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

編寫MySQL數(shù)據(jù)庫(kù)的用戶認(rèn)證系統(tǒng)實(shí)例

2018-06-11    來源:

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

這兩天受朋友的托付,要我?guī)退麑懸粋(gè)使用MySQL數(shù)據(jù)庫(kù)的用戶認(rèn)證系統(tǒng)。我當(dāng)然不好推脫的,只得耗費(fèi)了一晚上的休息時(shí)間,寫了個(gè)很簡(jiǎn)單的PHP程序。由于趕的很倉(cāng)卒,可能會(huì)太簡(jiǎn)陋了些,而且可能還會(huì)有錯(cuò)誤和漏洞。

用戶認(rèn)證的原理很簡(jiǎn)單:首先需要用戶在頁(yè)面上填入用戶名和密碼,當(dāng)然沒注冊(cè)的用戶需要先注冊(cè)。然后調(diào)用數(shù)據(jù)庫(kù)搜索是否有相應(yīng)的用戶。如果有就確認(rèn),沒有則提醒用戶先注冊(cè)。使用PHP來完成這一切很簡(jiǎn)單,但需要注意的是如果想在以后的頁(yè)面中都能確認(rèn)用戶身份,使用PHP3我只能想出使用cookie的方法。要想使用session,就只能等待PHP4正式版的發(fā)布了!

第一步是做一個(gè)登錄的頁(yè)面,這兒就不多講了。我只做了個(gè)極簡(jiǎn)單的,大家自己做得漂亮點(diǎn)。

第二步開始登錄后的確認(rèn)程序的設(shè)計(jì)。

login.php:?

mysql_connect("localhost","user","password")

/*連接數(shù)據(jù)庫(kù),用戶名和密碼自行修改*/

or die("無法連接數(shù)據(jù)庫(kù),請(qǐng)重試");

mysql_select_db("userinfo")

or die("無法選擇數(shù)據(jù)庫(kù),請(qǐng)重試");

$today=date("Y-m-d H:i:s");

$query="

select id

from usertbl

where name=$name and password=$password

/*從數(shù)據(jù)庫(kù)中搜索和登錄用戶相應(yīng)的資料*/

";

$result=mysql_query($query);

$numrows=mysql_num_rows($result);

if($numrows==0){

/*驗(yàn)證是否能找出相同資料的用戶,不能則未注冊(cè)*/

echo 非法用戶

;

echo 請(qǐng)注冊(cè)先

;

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,以方便之后的頁(yè)面認(rèn)證。

但我未開發(fā)完這一塊。希望有興趣的朋友指正*/

echo 登錄成功

;

echo 請(qǐng)進(jìn)!

;

}

?>

第三步當(dāng)然是做好注冊(cè)的頁(yè)面,也不多講了。

第四步是注冊(cè)后的身份確認(rèn)和輸入數(shù)據(jù)庫(kù)。

register.php:

mysql_connect("localhost","user","password") /*請(qǐng)修改用戶名和密碼*/

or die("無法連接數(shù)據(jù)庫(kù),請(qǐng)重試");

mysql_select_db("userinfo")

or die("無法選擇數(shù)據(jù)庫(kù),請(qǐng)重試");

$query="select id from usertbl where name=$name\";

/*從數(shù)據(jù)庫(kù)中搜索相同名字的用戶資料*/

$result=mysql_query($query);

$numrows=mysql_num_rows($result);

if($numrows!=0) /*找到了當(dāng)然就是有人先注冊(cè)了相同的名字*/

{echo 已有人注冊(cè)此名,請(qǐng)重新選擇名字!;}

else

{$query="insert into usertbl values(0,$name,$password,\)";

/*找不到相同的就輸入新的用戶資料*/

mysql_query($query);

echo 注冊(cè)成功;

echo 請(qǐng)登錄!;}

?>

下一步是cookie的使用,我原打算使用cookie來使每一頁(yè)都能識(shí)別用戶身份,但由于別的頁(yè)面還沒做好,不知道需要用到哪些資料。于是就只有一個(gè)很簡(jiǎn)單的使用,這里用到了PHP的引用:

if(!$usercookie)

{header("非法用戶");

}

?>

welcome.php:

require("cookie.php"); /*調(diào)用cookie.php*/

?>

echo $usercookie;

?>

到這兒便完成了一個(gè)很簡(jiǎn)單的用戶認(rèn)證系統(tǒng),當(dāng)然如果你要使用它還得建好數(shù)據(jù)庫(kù)。下面是我的數(shù)據(jù)庫(kù)表的結(jié)構(gòu),庫(kù)的名字是userinfo。

create table usertbl

(

ID int auto_increment primary key,

Name varchar(30),

Password varchar(20),

Lastlogin varchar(20)

);

標(biāo)簽: Mysql 漏洞 數(shù)據(jù)庫(kù) 搜索 選擇 用戶

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:MySQL中多表操作和批處理詳細(xì)介紹

下一篇:CAS漸漸成熟 但依然難覓標(biāo)準(zhǔn)化