溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP中如何驗(yàn)證表單中的必需字段

發(fā)布時(shí)間:2021-10-29 13:07:59 來源:億速云 閱讀:140 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“PHP中如何驗(yàn)證表單中的必需字段”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“PHP中如何驗(yàn)證表單中的必需字段”這篇文章吧。

PHP必需字段

我們在日常注冊時(shí)要填寫資料中就遇到過必需字段,必需字段就是我們填寫資料的時(shí)候,必須填寫的,不然是沒有辦法通過的。

在之前的文章中我們已經(jīng)介紹了表單的驗(yàn)證規(guī)則,其中我們舉的例子中介紹到了:名字的驗(yàn)證規(guī)則是必須的,E-mail的驗(yàn)證規(guī)則是必須的,其中必須是一個(gè)有效的電子郵件地址(包含'@'和'.')。性別的驗(yàn)證規(guī)則是必須的,必須選擇一個(gè)。這就是屬于我們勢力中的必需字段了。

在之前文章的示例中,所有輸入字段都是可選的,因?yàn)槲覀儧]有對(duì)它們進(jìn)行驗(yàn)證。那要怎樣才能實(shí)現(xiàn)必需字段必填的效果呢?

這時(shí)候我們可以在以下代碼中我們加入了一些新的變量: $nameErr, $emailErr, $genderErr, 和 $websiteErr。

這些錯(cuò)誤變量將顯示在必需字段上。 我們還為每個(gè)$_POST變量增加了一個(gè)if else語句。 這些語句將檢查 $_POST 變量是 否為空(使用php的 empty() 函數(shù))。如果為空,將顯示對(duì)應(yīng)的錯(cuò)誤信息。 如果不為空,數(shù)據(jù)將傳遞給test_input() 函數(shù)。

接下來我們來看一下這些變量的實(shí)際應(yīng)用:

<?php
 // 定義變量并默認(rèn)設(shè)為空值
 $nameErr = $emailErr = $genderErr = $websiteErr = "";
 $name = $email = $gender = $comment = $website = "";
 
 if ($_SERVER["REQUEST_METHOD"] == "POST") {
     if (empty($_POST["name"])) {
         $nameErr = "名字是必需的。";
     } else {
         $name = test_input($_POST["name"]);
     }
     if (empty($_POST["email"])) {
         $emailErr = "郵箱是必需的。";
     } else {
         $email = test_input($_POST["email"]);
     }
     if (empty($_POST["website"])) {
         $website = "";
     } else {
         $website = test_input($_POST["website"]);
     }
     if (empty($_POST["comment"])) {
         $comment = "";
     } else {
         $comment = test_input($_POST["comment"]);
     }
     if (empty($_POST["gender"])) {
         $genderErr = "性別是必需的。";
     } else {
         $gender = test_input($_POST["gender"]);
     }
 }
 ?>

輸出結(jié)果目前看不到,這段代碼需要通過表單代碼來驗(yàn)證表單的數(shù)據(jù)。

名字的驗(yàn)證規(guī)則是必須的,E-mail的驗(yàn)證規(guī)則是必須的,其中必須是一個(gè)有效的電子郵件地址(包含'@'和'.')。性別的驗(yàn)證規(guī)則是必須的,必須選擇一個(gè)。

通過上述代碼我們還不能夠?qū)㈠e(cuò)誤顯示出來,上述的代碼知識(shí)我們在名字、郵箱和性別這三個(gè)必需字段輸入框內(nèi)什么都不寫就提交的話,會(huì)在頁面上顯示出錯(cuò)誤的信息。如果不是空白就會(huì)得到驗(yàn)證,再去執(zhí)行l(wèi)se 語句里面的內(nèi)容。那接下來我們來看一下怎樣把錯(cuò)誤的信息顯示出來。

在的HTML實(shí)例表單中,我們?yōu)槊總€(gè)字段中添加了一些腳本, 各個(gè)腳本會(huì)在信息輸入錯(cuò)誤時(shí)顯示錯(cuò)誤信息。以達(dá)到如果用戶未填寫信息就提交表單則會(huì)輸出錯(cuò)誤信息的目的。

下面通過示例,我們看一下怎樣把錯(cuò)誤的信息顯示出來。示例如下:

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>億速云</title>
 </head>
 
 <style>
     .error {color: #FF0000;}
 </style>
 <body>
 <?php
 // 定義變量并設(shè)置為空值
 $nameErr = $emailErr = $genderErr = $websiteErr = "";
 $name = $email = $gender = $comment = $website = "";
 
 if ($_SERVER["REQUEST_METHOD"] == "POST") {
     if (empty($_POST["name"])) {
         $nameErr = "姓名是必填的";
     } else {
         $name = test_input($_POST["name"]);
     }
 
     if (empty($_POST["email"])) {
         $emailErr = "電郵是必填的";
     } else {
         $email = test_input($_POST["email"]);
     }
 
     if (empty($_POST["website"])) {
         $website = "";
     } else {
         $website = test_input($_POST["website"]);
     }
 
     if (empty($_POST["comment"])) {
         $comment = "";
     } else {
         $comment = test_input($_POST["comment"]);
     }
 
     if (empty($_POST["gender"])) {
         $genderErr = "性別是必選的";
     } else {
         $gender = test_input($_POST["gender"]);
     }
 }
 function test_input($data) {
     $data = trim($data);
     $data = stripslashes($data);
     $data = htmlspecialchars($data);
     return $data;
 }
 ?>
 <h3>PHP 驗(yàn)證實(shí)例</h3>
 <p><span class="error">* 必需的字段</span></p>
 <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
     姓名:<input type="text" name="name">
     <span class="error">* <?php echo $nameErr;?></span>
     <br><br>
     電郵:<input type="text" name="email">
     <span class="error">* <?php echo $emailErr;?></span>
     <br><br>
     網(wǎng)址:<input type="text" name="website">
     <span class="error"><?php echo $websiteErr;?></span>
     <br><br>
     評(píng)論:<textarea name="comment" rows="5" cols="40"></textarea>
     <br><br>
     性別:
     <input type="radio" name="gender" value="female">女性
     <input type="radio" name="gender" value="male">男性
     <span class="error">* <?php echo $genderErr;?></span>
     <br><br>
     <input type="submit" name="submit" value="提交">
 </form>
 <?php
 echo "<h3>您的輸入:</h3>";
 echo $name;
 echo "<br>";
 echo $email;
 echo "<br>";
 echo $website;
 echo "<br>";
 echo $comment;
 echo "<br>";
 echo $gender;
 ?>
 </body>
 </html>

通過驗(yàn)證數(shù)據(jù)之后,一旦未填寫我們帶有標(biāo)記的姓名、電郵和性別信息就點(diǎn)提交的話,輸出結(jié)果如下:

PHP中如何驗(yàn)證表單中的必需字段

由上述示例,我們便通過$nameErr, $emailErr, $genderErr, 和 $websiteErr這些變量,以及ifelse語句配合錯(cuò)誤顯示完成了PHP表單中必需字段的填寫要求。

以上是“PHP中如何驗(yàn)證表單中的必需字段”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI