PHP 7 フォーム処理ガイド: $_REQUEST 配列を使用してフォーム データを取得する方法
概要:
ユーザーが Web ページ上のフォームに記入して送信すると、サーバー側コードはフォームデータを処理する必要があります。 PHP 7 では、開発者は $_REQUEST 配列を使用してフォーム データを簡単に取得できます。この記事では、$_REQUEST 配列を正しく使用してフォーム データを処理する方法を紹介し、読者の理解を深めるためにいくつかのコード例を示します。
1. $_REQUEST 配列を理解する:
$_REQUEST 配列は、PHP プログラムでユーザー リクエストのデータを取得するために使用されるグローバル変数です。 GET および POST リクエストからデータを取得できるため、フォーム データの処理に非常によく使用されます。 $_REQUEST 配列のキー名は form 要素の name 属性値であり、その値はユーザーがフォームに入力した実際のデータです。
2. $_REQUEST 配列を使用してフォーム データを取得します:
次は、テキスト ボックスと送信ボタンを含む簡単なフォームの例です:
process.php ファイルの $_REQUEST 配列を使用して、フォームに入力されたユーザーのデータを取得します。たとえば、$_REQUEST["name"] を通じてユーザーが入力した名前を取得できます。次のコード例を参照してください。
$name = $_REQUEST["name"];
echo "入力した名前は次のとおりです:".$name;
上記のコードは、出力: 「入力した名前は次のとおりです: [ユーザーが入力した名前]」。実際の開発では、必要に応じてフォーム データをさらに処理して検証できます。
3. GET リクエストと POST リクエストを区別する:
$_REQUEST 配列は GET リクエストと POST リクエストのデータを取得できるため、GET リクエストと POST リクエストの両方からのデータがある場合は、$_REQUEST を使用してそれを入手してください。ただし、場合によっては、GET リクエストと POST リクエストのデータを区別する必要があることに注意してください。以下に例を示します。
process.php 内file では、$_POST 配列を使用して POST リクエストのデータを取得し、$_GET 配列を使用して GET リクエストのデータを取得できます。次のコード例を参照してください:
if (isset($_POST["name"])) {
$name = $_POST["name"];
echo "入力した名前は: ".$name;
}
if (isset($_GET["age"])) {
$age = $_GET["age"];
echo "入力した年齢は次のとおりです: ".$age;
}
上記のコードは、フォームのさまざまなリクエスト メソッドに従って対応するデータを取得し、それに応じて処理して出力します。
4. 特殊文字の処理:
フォーム データを処理するときは、セキュリティの脆弱性を防ぐために特殊文字のエスケープに注意する必要があります。 PHP は、HTML 特殊文字をエスケープするための htmlspecialchars() 関数や SQL 特殊文字をエスケープするための mysqli_real_escape_string() 関数など、これらの特殊文字を処理するための関数をいくつか提供しています。
次のコード例を参照してください:
$name = htmlspecialchars($_REQUEST["name"]);
$age = mysqli_real_escape_string($conn, $_REQUEST["age" ]);
上記のコードは、データのセキュリティを確保するために $name と $age をエスケープします。
概要:
PHP 7 では、$_REQUEST 配列を使用すると、GET リクエストと POST リクエストを区別せずにフォーム データを簡単に取得できます。この記事では、$_REQUEST 配列を使用してフォーム データを取得する方法について説明し、読者の理解を深めるためにいくつかのコード例を示します。実際の開発では、開発者はデータのセキュリティを確保するために特殊文字のエスケープに注意を払う必要があります。この記事の導入により、読者は PHP 7 フォーム処理についてより明確に理解できるようになると思います。
以上がPHP 7 フォーム処理ガイド: $_REQUEST 配列を使用してフォーム データを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。