ホームページ >バックエンド開発 >PHPチュートリアル >PHPでフォームデータを扱う方法

PHPでフォームデータを扱う方法

王林
王林オリジナル
2023-05-11 16:43:361995ブラウズ

インターネットの継続的な発展に伴い、フォームは Web 開発に不可欠な部分になりました。フォームを使用すると、ユーザーは送信する必要のあるデータを入力できるため、サーバーとの対話が可能になります。 PHP ではフォームデータの処理が非常に便利です。この記事では、PHPでフォームデータを加工する方法を紹介します。

1. フォーム データの取得
ユーザーがフォームを送信すると、PHP は $_POST または $_GET 変数を通じてフォームによって送信されたデータを取得できます。このうち、$_POST変数はPOSTで送信されたフォームデータを取得するために使用され、$_GET変数はGETで送信されたフォームデータを取得するために使用されます。フォーム データを取得するには、次の 2 つの方法があります。

(1) $_POST 変数を使用してフォーム データを取得する

#まず、次のような基本的なフォーム コードを理解する必要があります。 ##< ;form action="result.php" method="post">

<input type="text" name="username">
<input type="submit" name="submit" value="Submit">

f5a47148e367a6035fd7a2faa965022e

フォームではinputタグのname属性を使用しますフォームを送信するには、サーバーがデータを送信します。 $_POST を使用してフォーム データを取得するサンプル コードを次に示します。

$username = $_POST["username"];

ここでは、$_POST["username"] を使用してフォーム データを取得しました。 form data from 送信されたフォーム データから「username」という名前の入力ボックスの内容を取得し、それを $username 変数に割り当てます。

(2) $_GET 変数を使用してフォーム データを取得する

GET メソッドを使用してフォームを送信する場合、$_GET 変数を使用してフォーム データを取得できます。使用法は上記と似ていますが、$_POST を $_GET に置き換えるだけです。

2. フォーム データを安全に処理する

フォーム データを処理する場合、セキュリティは非常に重要です。フォーム データを安全に処理するためのいくつかの方法を次に示します。

(1) htmlspecialchars() 関数

htmlspecialchars() 関数は、一部の特殊文字を HTML エンティティに変換し、スクリプト インジェクションを防ぐことができます。この関数を使用すると、ユーザーが送信したフォーム データ内の特殊文字を、< から < などの HTML エンティティに変換できます。

$username = htmlspecialchars($_POST["username"]);

(2)strip_tags()関数

ユーザーに対してstrip_tags()関数を実行することもできます。フォーム データの処理では、この関数はフォーム データからすべてのマークアップを削除し、プレーン テキストのみを残します。

$username =trip_tags($_POST["username"]);

(3) trim() 関数

trim() 関数はフォーム データ スペースを削除するために使用されます。およびその他の空白文字。これにより、ユーザーが誤って余分なスペースやその他の空白文字を入力するのを防ぎます。

$username = trim($_POST["username"]);

3. フォーム データの検証

フォーム データを取得して処理した後、検証を実行する必要があります。データの有効性を確認します。以下に、フォーム データ検証のいくつかの方法を示します。

(1) empty() 関数

empty() 関数は、フォーム データが空かどうかを判断できますが、0 の場合にも true を返します。したがって、この場合は !== を使用します。

if(!empty($_POST["username"])){

// 表单数据不为空

}

(2) filter_var() function

filter_var( )関数を使用すると、フォームデータが指定されたフォーマットに準拠しているかどうかを検証できます。たとえば、filter_var() 関数を使用して、電子メール アドレスが有効であることを確認できます。

$email = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL);

if($email){

// 电子邮件地址有效

} else {

// 电子邮件地址无效

}

(3) preg_match() 関数

preg_match() 関数を使用して、正規表現を使用してフォーム データを検証します。たとえば、次のコードはユーザー名が有効であることを確認します:

if(preg_match("/^[a-zA-Z0-9] $/", $_POST["username"])){

// 用户名有效

} else {

// 無効なユーザー名

}


概要:

PHP には、フォーム データを取得、処理、検証するためのさまざまな方法が用意されています。フォームを処理するときは、セキュリティに注意し、スクリプト インジェクションを避ける必要があります。同時に、ほとんどのフォーム アプリケーションにとって検証も非常に重要です。これらの手法を適切に使用すると、フォーム アプリケーションをより堅牢で安全なものにすることができます。

以上がPHPでフォームデータを扱う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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