首頁  >  文章  >  後端開發  >  PHP 中的驗證

PHP 中的驗證

王林
王林原創
2024-08-29 13:08:43710瀏覽

PHP中的驗證是我們檢查最終使用者在表單中提交的任何表單(例如文字、複選框或單選按鈕等)中各個欄位中的輸入資訊是否正確或不使用HTML程式碼的過程.

廣告 該類別中的熱門課程 PHP 開發人員 - 專業化 | 8 門課程系列 | 3次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

PHP 中有 2 種可用的驗證:

  1. 客戶端驗證: 這種類型的驗證是在客戶端電腦的 Web 瀏覽器上完成的。
  2. 伺服器端驗證:提交的資料隨後被傳送到伺服器電腦以執行驗證檢查。

PHP 驗證規則

表單驗證有一定的規則,對於以下欄位如下:

  • 名稱:必填字段,資料僅包含空格和字母。
  • 電子郵件:這也是必填字段,應包含有效的電子郵件地址,意味著其格式應為 [email  protected]。
  • 網站:這是一個可選字段,如果給定,應包含有效的 URL
  • 註解:這是一個可選字段,是一個多行文字輸入,我們可以在其中給出長句子。
  • 性別:這是必填字段,應從女性、男性和其他中選擇一種性別。

PHP 中的驗證類型

現在讓我們看看如何驗證不同類型的此類欄位。

1.驗證文字欄位

上述屬性中有一些文字字段,例如名稱、電子郵件、網站和評論。其 HTML 程式碼如下:

代碼:

<blockquote>
<p>Name : <input name="name" type="text" /> <br /><br /> E-mail : <input name="email" type="text" /><br /><br /> Website: <input name="website" type="text" /><br /><br /> Comment: <textarea cols="40" name="comment" rows="5"></textarea></p>
</blockquote>

輸出:

PHP 中的驗證

上述程式的說明:這裡我們可以透過使用不同的標題標籤和空格標籤來自訂這些屬性名稱。我們在這裡展示了其中一種段落格式選項。

2.單選按鈕的驗證

單選按鈕基本上是具有布林值 true 或 false 的按鈕,它們由圓形框之類的東西表示。如果方框被圈起來,則表示正確,反之亦然。讓我們檢查一下 HTML 程式碼,以實現上述「性別」屬性的相同功能。

代碼:

Gender:<br /><br />
<input type="radio" name="gender" value="female">Female<br /><br />
<input type="radio" name="gender" value="male">Male<br /><br />
<input type="radio" name="gender" value="other">Other

輸出:

PHP 中的驗證

上述程序的說明:透過使用此代碼,我們在性別類別下顯示 3 個選項:男性、女性和其他。使用者可以透過點擊圓圈來圈選所需的選項,該選項將被儲存並驗證。

3.表單元素驗證

在填寫所有必需的詳細資訊以提交表單後,最後使用此方法。使用此 HTML 程式碼時,提交的表單資料將透過「post」方法傳送。在驗證表單元素時,我們基本上需要指定兩個屬性:操作和方法。我們可以將某些 HTML 屬性轉換為它們各自的實體名稱,以防止使用者提交時表單被破壞。 「action」決定表單資料在提交時發送到哪裡,「method」定義表單資料的提交方式。

代碼:

<form method="POST"
action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

讓我們透過結合上面學到的所有不同類型的驗證來檢查完整的驗證形式:

代碼:

<!DOCTYPE HTML>
<html>
<head>
<style>
.Error {color: #FF0000;}
</style>
</head>
<body>
<?php
// we are defining variables here and setting their default values to zero
$nameError = $emailError = $genderError = $websiteError = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameError = "Name is mandatory";
} else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["email"])) {
$emailError = "Email is mandatory";
} 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"])) {
$genderError = "Gender is mandatory";
} else {
$gender = test_input($_POST["gender"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>PHP Form Validation Example</h2>
<p><span class="Error">* mandatory field</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="Error">* <?php echo $nameError;?></span>
<br><br>
E-mail: <input type="text" name="email">
<span class="Error">* <?php echo $emailError;?></span>
<br><br>
Website: <input type="text" name="website">
<span class="Error"><?php echo $websiteError;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other
<span class="Error">* <?php echo $genderError;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>

輸出:

PHP 中的驗證

對上述程序的說明:在上面的示例中,我們組合了所有可用的不同字段,例如文本字段、單選按鈕以及電子郵件格式類型。輸出將以框的形式顯示,該框將根據我們在 HTML 程式碼中給出的規格進行顯示。輸入必填值後,相同內容將顯示在文字「輸入的詳細資料是:」下。假設未給出任何一個強制性值,那麼除了該特定屬性之外,它還會拋出一條錯誤訊息,表明它是強制性的並且需要填寫。

PHP 驗證的優點

  • 透過使用客戶端驗證,我們可以更快地接收回饋,而無需關閉伺服器並下載另一個 HTML 頁面。
  • 客戶端驗證還有助於節省伺服器負載並提高效能。

結論

我們在本教程中了解如何在客戶端的 PHP 中進行驗證以及它的重要性。它有助於節省時間,從而允許更多的頻寬來指出最終用戶在填寫給定表格時的錯誤。然而,伺服器端驗證也很重要,它是使用 JavaScript 等完成的。因此,我們最終可以得出結論,客戶端和伺服器端驗證都很重要,因為它們在服務最終目的方面相互補充。

以上是PHP 中的驗證的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn