PHP での検証

王林
王林オリジナル
2024-08-29 13:08:43728ブラウズ

PHP の検証は、エンドユーザーがフォームに送信したテキスト、チェックボックス、ラジオボタンなどのさまざまなフィールドの入力情報が正しいか、HTML コードを使用していないかをチェックするプロセスです。 .

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

PHP では 2 種類の検証が利用できます:

  1. クライアント側検証: このタイプの検証は、クライアント マシンの Web ブラウザーで実行されます。
  2. サーバー側検証: 送信データはサーバー マシンに送信され、そこで検証チェックが実行されます。

PHP での検証ルール

フォームの検証には特定のルールがあり、次のフィールドについては次のとおりです:

  • 名前: データに空白と文字のみが含まれる必須フィールドです。
  • メール: これは必須フィールドでもあり、有効なメール アドレスを含める必要があります。これは、[email protected] の形式である必要があることを意味します。
  • ウェブサイト: これはオプションのフィールドであり、指定されている場合は有効な URL を含める必要があります
  • コメント: これはオプションのフィールドで、長い文章を入力できる複数行のテキスト入力です。
  • 性別: これは必須フィールドであり、女性、男性、その他から 1 つの性別を選択する必要があります。

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 での検証

上記のプログラムの説明: ここでは、さまざまなヘッダー タグとスペース タグを使用して、これらの属性名を自由にカスタマイズできます。ここでは、この段落書式オプションの 1 つを示しています。

2.ラジオボタンの検証

ラジオ ボタンは基本的に true または false のブール値を持つボタンで、円形のボックスのようなもので表されます。ボックスが丸で囲まれている場合は true を意味し、その逆も同様です。上記の「Gender」属性に対して同じことを実装する 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」メソッドで送信されます。基本的に、フォーム要素を検証する際に指定する必要がある属性はアクションとメソッドの 2 つです。ユーザーが送信するときにフォームが壊れるのを防ぐために、特定の HTML 属性をそれぞれのエンティティ名に変換できます。 「アクション」は送信時にフォームのデータが送信される場所を決定し、「メソッド」はフォームのデータがどのように送信されるかを定義します。

コード:

<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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP のベース名次の記事:PHP のベース名