PHP の検証は、エンドユーザーがフォームに送信したテキスト、チェックボックス、ラジオボタンなどのさまざまなフィールドの入力情報が正しいか、HTML コードを使用していないかをチェックするプロセスです。 .
広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
PHP では 2 種類の検証が利用できます:
フォームの検証には特定のルールがあり、次のフィールドについては次のとおりです:
次に、このようなフィールドのさまざまなタイプを検証する方法を見てみましょう。
名前、電子メール、ウェブサイト、コメントなど、上記の属性からのテキスト フィールドがいくつかあります。同じものの 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>
出力:
上記のプログラムの説明: ここでは、さまざまなヘッダー タグとスペース タグを使用して、これらの属性名を自由にカスタマイズできます。ここでは、この段落書式オプションの 1 つを示しています。
ラジオ ボタンは基本的に 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
出力:
上記のプログラムの説明: このコードを使用すると、性別カテゴリの下に男性、女性、その他の 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>
出力:
上記プログラムの説明: 上記の例では、テキスト フィールド、ラジオ ボタン、電子メール形式の種類など、利用可能なさまざまなフィールドをすべて組み合わせています。出力は、HTML コードで指定した仕様に従ってボックスの形式で表示されます。必須の値を入力すると、「入力された詳細は次のとおりです」というテキストの下に同じ値が表示されます。必須の値のいずれかが指定されていないと、その特定の属性に加えて、それが必須であり入力する必要があることを示すエラー メッセージがスローされます。
このチュートリアルでは、クライアント側で PHP で検証を行う方法と、それがどれほど重要であるかを説明しました。これは時間を節約するのに役立ち、エンドユーザーが所定のフォームに記入する際の間違いを指摘するための帯域幅を増やすことができます。ただし、JavaScript などを使用して行われるサーバー側の検証も重要です。したがって、最終的には、クライアント側とサーバー側の検証は両方とも、最終目的を果たす上で相互に補完し合うため重要であると結論付けることができます。
以上がPHP での検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。