PHP登錄腳本代碼和教程

我們將在頁面上使用PHP代碼創(chuàng)建一個(gè)簡單的登錄系統(tǒng),并創(chuàng)建一個(gè)MySQL數(shù)據(jù)庫來存儲(chǔ)我們的用戶'信息。我們將跟蹤使用Cookie登錄的用戶。

01

的07

The Database

在創(chuàng)建登錄腳本之前,我們首先需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫來存儲(chǔ)用戶。為了本教程的目的,我們只需要字段"用戶名"和"密碼",但是,您可以創(chuàng)建盡可能多的字段。

 創(chuàng)建表格用戶(ID MEDIUMINT NOT NULL AUTO?增量主鍵,用戶名VARCHAR(60),密碼VARCHAR(60))

這將創(chuàng)建一個(gè)名為users的數(shù)據(jù)庫,其中包含3個(gè)字段:ID,用戶名和密碼。

02

of 07

注冊(cè)頁面1

注冊(cè)

謝謝,您已經(jīng)注冊(cè)-您現(xiàn)在可以登錄

03

67 of 07 68

注冊(cè)頁面2

<?php}其他的{?><表格操作="<?php-echo$#u服務(wù)器['php_-SELF']?>"方法="發(fā)布">

用戶名:<&td>

密碼:<&td>

確認(rèn)密碼:<&td>

教育_1

<輸入類型="提交"名稱="提交"值="注冊(cè)"><?php}?>

完整代碼可以在GitHub上找到:https://github.com/Goatella/Simple-PHP-Login

如果表格尚未提交,則會(huì)顯示注冊(cè)表格,該表格收集用戶名和密碼?;旧线@是檢查是否已提交表格。如果它已經(jīng)提交給m檢查確保數(shù)據(jù)完全正確(密碼匹配,用戶名為'正在使用中),如代碼中所述。如果一切正常,它會(huì)將用戶添加到數(shù)據(jù)庫中,如果沒有,它會(huì)返回適當(dāng)?shù)腻e(cuò)誤。

04

of 07

登錄頁面1

點(diǎn)擊此處注冊(cè)<;a>&##39;);}而($info=mysql?fetch?array($check)){$Upost['pass']=條紋線($Upost['pass']);$info['密碼']=stripslashes($info['密碼']);$_POST['pass']=md5($_POST['、 通過']);//如果密碼錯(cuò)誤,則給出錯(cuò)誤如果($_POST['pass']!=$info['密碼']){死('密碼不正確,請(qǐng)?jiān)俅螄L試。');}

05

of 07

秋季生活小常識(shí)

登錄頁面2

其他{//如果登錄正常,那么我們添加一個(gè)cookie$_POST['用戶名']=條紋條($_POST['用戶名']);$小時(shí)=時(shí)間()+3600;setcookie(ID_my#site,$_POST['用戶名'],$小時(shí));setcookie(Key?my?site,$POST['pass'],$hour);//然后將它們重定向到成員區(qū)域標(biāo)題("位置:members.php");}}}其他的{//如果他們沒有登錄?><表格操作="<?php-echo$?服務(wù)器['php?SELF']?>"方法="發(fā)布">

Login

用戶名:<&td>

密碼:<&td>

<輸入類型="提交"名稱="提交"值="登錄名"><?php}?>

該腳本首先檢查登錄信息是否包含在用戶'計(jì)算機(jī)上的cookie中。如果是,它會(huì)嘗試登錄。如果成功,他們將被重定向到成員'區(qū)域

如果沒有cookie,則允許它們登錄。如果表單已提交,則會(huì)對(duì)照數(shù)據(jù)庫進(jìn)行檢查,如果成功,則設(shè)置一個(gè)cookie并將其帶到成員'區(qū)域。如果尚未提交,則會(huì)顯示登錄表單。

06

of 07

Members區(qū)域

";回聲"您的內(nèi)容和lt;p>";echo"注銷<;a>";}}}其他的//如果cookie不存在,則將其帶到登錄屏幕{標(biāo)題("位置:登錄.php");}?>

此代碼檢查我們的cookie以確保用戶登錄,與登錄頁面相同。如果他們登錄,他們將顯示成員區(qū)域。如果他們沒有登錄,他們將被重定向到登錄頁面。

07

of 07

注銷頁面

我們所有的注銷頁面都是銷毀cookie,然后將它們引導(dǎo)回登錄頁面。我們通過將過期設(shè)置為過去的一段時(shí)間來銷毀餅干。