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>
<輸入類型="提交"名稱="提交"值="注冊(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>
<輸入類型="提交"名稱="提交"值="登錄名"> /table><?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í)間來銷毀餅干。