PHP 変数 $_GET と $_POST
クライアントブラウザからウェブサーバにデータを送信する方法は2つあります:
以下の HTML ページには、テキスト、パスワード、チェックボックス、ラジオ、セレクトなど、さまざまなタイプの入力要素を含む HTML フォームが含まれています。ユーザーがこれらの要素を入力して送信ボタンをクリックすると、データはフォームのaction属性で指定された宛先ファイル「exemple.php」に転送されます.
次の画像は、GETメソッドを使用したHTMLフォームの例と、ページPHP.
"imprime_infos.php" ファイル内では、$_GET 変数を使用して受信した値 (名前と年齢) を収集しました。
- GET
- POST
以下の HTML ページには、テキスト、パスワード、チェックボックス、ラジオ、セレクトなど、さまざまなタイプの入力要素を含む HTML フォームが含まれています。ユーザーがこれらの要素を入力して送信ボタンをクリックすると、データはフォームのaction属性で指定された宛先ファイル「exemple.php」に転送されます.
次の画像は、GETメソッドを使用したHTMLフォームの例と、ページPHP.
GET メソッド
GET メソッドは、エンコードされた情報を宛先ページに送信します。ページとエンコードされた情報は、文字で区切られます。?.
http://www.exemple.com/index.php?name1=valeur1&name2=value2以下のHTMLフォームを見てみましょう。form 要素では、"method".
"imprime_infos.php" ファイル内では、$_GET 変数を使用して受信した値 (名前と年齢) を収集しました。
if( $_GET["name"] || $_GET["age"] ) {WampServerサーバーの下でコードを実行した後、上記の結果が得られ、その情報はアドレスバーに表示されます.
echo "こんにちは".$_GET['name'] です。"
";
echo "You have"です。$_GET['age'] です。" 年。";
}
?>
-GETメソッドは、サーバーログとブラウザの履歴に表示される長い文字列を生成します.
-GETメソッドで送信される文字数は1024文字のみに制限されています。したがって、長いテキストを送信することはできません.
-パスワードやクレジットカード番号、コードなどの機密情報を送信するためにGETメソッドを使用しないでください.
-GETは、画像やドキュメントなどのバイナリデータをサーバーに送信できません.
-GETメソッドによって送信されるデータには、環境変数QUERY_STRING.
- PHP には_GET、GET.
- GETは情報を取得するためにのみ使用してください.
POST
上記のように、GETメソッドはまったく安全ではないため、PHP開発者はアドレスバーに情報を表示せずに情報を送信する効率的なソリューションを開発しました。また、GET は 1024 文字に制限されています。そのため、フォームのデータはPOSTメソッドで送信する方が良いでしょう。POST メソッドは GET メソッドと同様に機能しますが、値はブラウザーのアドレス バーに表示されず、ブラウザーの履歴にも保存されないため、GET よりも安全です。
POST を使用するには、 GET.
そして、情報を収集するには、変数$_POST:
- 送信されたデータはブラウザの履歴に保存されません。
- POST を使用してバイナリ データを送信できます。
- POST メソッドによって送信されるデータは HTTP ヘッダーを介して渡されるため、セキュリティは HTTP プロトコルに依存します。
- PHP には、><$_REQUEST$_REQUEST 変数には、$_GET、$_POST、および $_COOKIE の内容が含まれます。$_REQUEST は、$_GET と $_POST.
メソッドの両方からデータを受け取るのに便利です ファイル "imprime_infos.php:
そして、情報を収集するには、変数$_POST:
<を使用しますか?phpランタイムは、アドレスバーに情報が表示されていないことを示します:
if( $_POST["name"] || $_POST["age"] ) {
echo "こんにちは".$_POST['name'] です。"
";
echo "You have"です。$_POST['age'] です。" 年。";
}
?>
POSTを使用する利点:
- POSTメソッドには、送信するデータのサイズに制限はありません。- 送信されたデータはブラウザの履歴に保存されません。
- POST を使用してバイナリ データを送信できます。
- POST メソッドによって送信されるデータは HTTP ヘッダーを介して渡されるため、セキュリティは HTTP プロトコルに依存します。
- PHP には、><
メソッドの両方からデータを受け取るのに便利です ファイル "imprime_infos.php:
if( $_REQUEST["name"] || $_REQUEST["age"] ) {
echo "こんにちは".$_REQUEST['name'] です。"
";
echo "You have"です。$_REQUEST['age'] です。" 年。";
}
?>