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