PHP登錄腳本代碼和教程
我們將在頁(yè)面上使用PHP代碼創(chuàng)建一個(gè)簡(jiǎn)單的登錄系統(tǒng),并創(chuàng)建一個(gè)MySQL數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)我們的用戶(hù)'信息。我們將跟蹤使用Cookie登錄的用戶(hù)。
01
的07
The Database
在創(chuàng)建登錄腳本之前,我們首先需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)用戶(hù)。為了本教程的目的,我們只需要字段"用戶(hù)名"和"密碼",但是,您可以創(chuàng)建盡可能多的字段。
創(chuàng)建表格用戶(hù)(ID MEDIUMINT NOT NULL AUTO?增量主鍵,用戶(hù)名VARCHAR(60),密碼VARCHAR(60))
這將創(chuàng)建一個(gè)名為users的數(shù)據(jù)庫(kù),其中包含3個(gè)字段:ID,用戶(hù)名和密碼。
02
of 07
注冊(cè)頁(yè)面1
注冊(cè)
謝謝,您已經(jīng)注冊(cè)-您現(xiàn)在可以登錄
03
67 of 07 68注冊(cè)頁(yè)面2
<?php}其他的{?><表格操作="<?php-echo$#u服務(wù)器['php_-SELF']?>"方法="發(fā)布">用戶(hù)名:<&td>
密碼:<&td>
確認(rèn)密碼:<&td>
<輸入類(lèi)型="提交"名稱(chēng)="提交"值="注冊(cè)"> <?php}?>
完整代碼可以在GitHub上找到:https://github.com/Goatella/Simple-PHP-Login
如果表格尚未提交,則會(huì)顯示注冊(cè)表格,該表格收集用戶(hù)名和密碼。基本上這是檢查是否已提交表格。如果它已經(jīng)提交給m檢查確保數(shù)據(jù)完全正確(密碼匹配,用戶(hù)名為'正在使用中),如代碼中所述。如果一切正常,它會(huì)將用戶(hù)添加到數(shù)據(jù)庫(kù)中,如果沒(méi)有,它會(huì)返回適當(dāng)?shù)腻e(cuò)誤。
04
of 07
登錄頁(yè)面1
點(diǎn)擊此處注冊(cè)<;a>#39;);}而($info=mysql?fetch?array($check)){$Upost['pass']=條紋線($Upost['pass']);$info['密碼']=stripslashes($info['密碼']);$_POST['pass']=md5($_POST['、 通過(guò)']);//如果密碼錯(cuò)誤,則給出錯(cuò)誤如果($_POST['pass']!=$info['密碼']){死('密碼不正確,請(qǐng)?jiān)俅螄L試。');}
05
of 07
秋季生活小常識(shí)登錄頁(yè)面2
其他{//如果登錄正常,那么我們添加一個(gè)cookie$_POST['用戶(hù)名']=條紋條($_POST['用戶(hù)名']);$小時(shí)=時(shí)間()+3600;setcookie(ID_my#site,$_POST['用戶(hù)名'],$小時(shí));setcookie(Key?my?site,$POST['pass'],$hour);//然后將它們重定向到成員區(qū)域標(biāo)題("位置:members.php");}}}其他的{//如果他們沒(méi)有登錄?><表格操作="<?php-echo$?服務(wù)器['php?SELF']?>"方法="發(fā)布">
Login
用戶(hù)名:<&td>
密碼:<&td>
<輸入類(lèi)型="提交"名稱(chēng)="提交"值="登錄名"> /table><?php}?>
該腳本首先檢查登錄信息是否包含在用戶(hù)'計(jì)算機(jī)上的cookie中。如果是,它會(huì)嘗試登錄。如果成功,他們將被重定向到成員'區(qū)域
如果沒(méi)有cookie,則允許它們登錄。如果表單已提交,則會(huì)對(duì)照數(shù)據(jù)庫(kù)進(jìn)行檢查,如果成功,則設(shè)置一個(gè)cookie并將其帶到成員'區(qū)域。如果尚未提交,則會(huì)顯示登錄表單。
06
of 07
Members區(qū)域
";回聲"您的內(nèi)容和lt;p>";echo"注銷(xiāo)<;a>";}}}其他的//如果cookie不存在,則將其帶到登錄屏幕{標(biāo)題("位置:登錄.php");}?>
此代碼檢查我們的cookie以確保用戶(hù)登錄,與登錄頁(yè)面相同。如果他們登錄,他們將顯示成員區(qū)域。如果他們沒(méi)有登錄,他們將被重定向到登錄頁(yè)面。
07
of 07
注銷(xiāo)頁(yè)面
我們所有的注銷(xiāo)頁(yè)面都是銷(xiāo)毀cookie,然后將它們引導(dǎo)回登錄頁(yè)面。我們通過(guò)將過(guò)期設(shè)置為過(guò)去的一段時(shí)間來(lái)銷(xiāo)毀餅干。