戻る

POST/GETの内容で変数を受け取る

import_request_variables()関数

セキュリティ上の理由から、通常はphp.iniファイルでは「register_globals = Off」に設定されており、送信元HTMLフォームの部品名を使った変数でデータを受け取ることはできません。そのような環境でも、import_request_variables()関数を使うと、HTMLフォームから送信されたデータを一般的な変数で受け取ることができます。例えば、送信元のHTMLフォームでname属性が「username」であるフォーム部品のデータを受け取りたい場合、その部品名を使った「&rcv_username」というような変数名として、そのデータを取り扱えます。

import_request_variables()関数では、第1引数に「"PG"」を指定します。これは、POSTの「P」とGETの「G」を表しており、POSTまたはGETで送信されたデータを変数に展開することを指示しています。例えば「"rcv_"」と指定した場合、「username」という名前(name属性)のフォーム部品のデータは「$rcv_username」という名前の変数で受け取ることができます。

<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
名前と住所を入力して「送信」ボタンをクリックしてください。
<form action="receive.php" method="GET">
名前:<input type="text" size="40" name="username"><br>
住所:<input type="text" size="40" name="useraddress"><br>
<input type="submit" value="送信">
</form>
</body>
</html>

<?php
header("Content-type: text/html; charset=utf-8");

import_request_variables("PG", "rcv_");

echo "送信送信されたデータは<br>";
echo "名前→" . $rcv_username . "<br>";
echo "住所→" . $rcv_useraddress . "<br>";
?>

inserted by FC2 system