【PHP学习】表单验证实现注册功能
上次學了一下最基本的語法,這次筆記中記錄的是用上次學到的語法以及第一次的前端頁面做表單驗證,實現注冊功能。
網頁界面博客鏈接:PHP 學習之路(1)—— Simple Message 系統
基礎語法博客鏈接:PHP 學習之路(3)—— PHP基本語法
實驗要求:
在registerverify.php頁面添加對注冊頁面提交來的數據進一步進行校驗,功能描述如下:
賬號長度不能超過10,否則提示以下信息,并提供返回鏈接
密碼長度不能少于6位,否則提示以下信息,并提供返回鏈接:
密碼與確認密碼應當一致,否則提示以下信息,并提供返回鏈接:
電子郵件地址必須含有”@”和”.”字符,否則提供以下信息,并提供返回鏈接
當所有校驗都完成后,頁面會顯示用戶注冊信息:
實驗實現
1. 表單修改
根據需求,我們首先需要在確認密碼下面添加電子郵箱的輸入框。(和之前每一行一樣的添加即可)
<div><div class="textDv">電子郵箱:</div><div class="inputDv"><input type="text" id="emailInput" name="email" class="inputFst"></div><div id="checkSecondPwd"></div><div class="clear"></div> </div>好的,就是醬紫:
電子郵箱就加上去了~
2. 提示界面
提交界面的設計與注冊頁面一樣,不同的地方只有表單DIV,那么我這里就只做了表單DIV的修改。先模擬寫一個錯誤的界面以及一個正確信息的界面:(為了方便以后的工作,這邊就不輸出注冊用戶信息了~)
(1)錯誤界面
(2)正確的界面(改成輸出這個)
因為驗證設計到多個信息的驗證,每個信息如果都寫一遍頁面的話會非常麻煩,屬于非常蠢的事情,所以我這里就將正確和錯誤的兩個界面作為模板,將其需要更改的提示信息以及跳轉頁面作為變量輸出在文本中。
a.正確代碼
echo <<<YES <div id="true"><div id="truet"><div class="trueDv"><img class="trueJpg" src="images/right.gif"></div><div class="trueMsg"><font color="red">$successMsg</font></div><div class="clear"></div></div><div id="return"><font id="returnTxt" color="green" onclick="window.location.href='$successLink'">$successReturn</font></div> </div> YES;b. 錯誤代碼
echo <<<ERROR <div id="error"><div id="errort"><div class="errorDv"><img class="errorJpg" src="images/error.jpg"></div><div class="errorMsg"><font color="red">$errorMessage</font></div><div class="clear"></div></div><div id="return"><font id="returnTxt" color="green" onclick="window.location.href='$errorLink'">$errorReturn</font></div> </div> ERROR;以定界符的方式存儲兩個HTML代碼。
c. 用以輸出的提示頁面的變量
$title = ""; #———— 網站標題 $formtitle = ""; #———— 界面標題 $errorMessage = ""; #———— 錯誤信息 - 初次必須為空 $successMsg = ""; #———— 正確信息 - 初次必須為空 $successLink = ""; #———— 正確后前往的鏈接 $successReturn = ""; #———— 正確后前往的網頁 $errorLink = ""; #———— 失敗后前往的鏈接 $errorReturn = ""; #———— 正失敗前往的鏈接這里我的邏輯是?errorMessage 不為空及即為有錯誤,則注冊失敗。反之注冊成功。
3. 驗證頁面
我們首先用語法一節中學到的字符串方法,計算賬號密碼等的長度。注意這里講各數據轉成UTF-8的格式。
mb_strlen(變量,'UTF-8');(1)賬號
if ($unamelength <= 0) {$errorMessage="賬號不能為空!" ; } elseif ($unamelength < 4) {$errorMessage="賬號長度不能小于4位!" ; } elseif ($unamelength > 10) {$errorMessage="賬號長度不能超過10位!" ; }(2)密碼
if ($pwdlength <= 0) {$errorMessage="密碼不能為空!" ; } elseif ($pwdlength < 6) {$errorMessage="密碼長度不能小于6位!" ; } elseif ($a) {$errorMessage="密碼不能包含特殊字符!" ; } elseif (!$b || !$c) {$errorMessage="密碼必須由數字和字母組成!" ; } elseif ($pwdlength2 <= 0) {$errorMessage="密碼確認不能為空!" ; } elseif ($_POST["password"] != $_POST["passwordTwo"]) {$errorMessage="兩次密碼不一致!" ; }(3)郵箱
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$_POST["email"])) {$errorMessage="電子郵件地址格式有誤" ; }(4)性別、出生年月(額…出生年月就不需要驗證了,因為之前的項目的出生年月是自動生成的不超過當前時間的出生年月)
4. 結果輸出
在輸出結果之前,我們要做的其實就剩下errorMessage的判斷了,如果errorMessage的長度小于等于0的話,那么就校驗成功,可以注冊,如果長度比0大的話就是有錯誤原因,那么注冊失敗。
if (mb_strlen($errorMessage,'UTF-8') <= 0) { echo <<<YES …… YES; } else { echo <<<ERROR …… ERROR; } ?>驗證界面的截圖就不放啦~
項目地址:https://download.csdn.net/download/ahanwhite/11176436
?
以上,寫于 20190513?。
from ahanwhite
如有錯誤,敬請批評!非常感謝。
總結
以上是生活随笔為你收集整理的【PHP学习】表单验证实现注册功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (一)一文掌握flink性能优化:资源配
- 下一篇: 苹果cms v10用户搜索什么就入库添加