ホームページ > php教程 > php手册 > PHP の $_GET $_POST $_REQUEST の違いの概要

PHP の $_GET $_POST $_REQUEST の違いの概要

WBOY
リリース: 2016-06-16 09:16:38
オリジナル
1181 人が閲覧しました

PHP の $_GET $_POST $_REQUEST の違いについて

PHP にはフォームデータを受け取るための $_REQUEST、$_POST、$_GET があります。

1. $_REQUEST、$_POST、$_GET の違いと特徴

$_REQUEST[] には $_POST[] $_GET[] の機能がありますが、$_REQUEST[] の方が遅いです。 POST および GET メソッドを通じて送信されたすべてのデータは、$_REQUEST 配列を通じて利用できます。

2. $_POST と $_GET の違いと特徴

1. GETはサーバーからデータを取得すること、POSTはサーバーにデータを送信することです。
2. GET は、送信されたフォームの ACTION 属性が指す URL にパラメーター データ キューを追加します。値はフォーム内の各フィールドに 1 対 1 で対応し、URL で確認できます。 POST は、HTTP POST メカニズムを使用して、フォームの各フィールドとそのコンテンツを HTML HEADER に配置し、それを ACTION 属性が指す URL アドレスに送信します。ユーザーはこのプロセスを見ることができません。
3. GET メソッドでフォーム データを送信する場合、サーバー側は $_GET['name'] を使用して変数の値を取得します。POST メソッドでフォーム データを送信する場合、サーバー側は $_POST['name'] を使用して変数の値を取得します。もちろん、両方のフォーム データは $_REQUEST['name'] を通じて取得できます。 REQUEST モードでフォーム データを送信する場合、サーバーは $_REQUEST[‘name’] を使用して変数の値を取得しますが、このメソッドが使用されることはほとんどありません。
4. GET によって送信されるデータの量は少なく、2KB を超えることはできません。 POST によって送信されるデータの量は多く、通常はデフォルトでは制限がありません。ただし、理論的には 100KB を超えることはできないと一般に考えられています。
5. GET のセキュリティは非常に低いですが、POST のセキュリティは高いです。
6. GET フォームの値は _GET を通じて取得できますが、アクション URL を通じて設定されたパラメータは常に取得できるわけではありません。 method="get"action="a.asp"> も同じです。つまり、この場合、GET メソッドはアクション ページに続くパラメーター リストを無視します。 POST フォームの値は _POST を通じて取得できますが、アクションの url パラメータを通じて設定されたパラメータは _POST を通じて取得できない場合があります。 action=test.php?id=1 は、値を渡すための GET メソッドです。$_REQUEST と $_GET を使用して値を受け取ることができますが、フォームが送信された場合でも、POST メソッドを使用して値を取得することはできません。 POSTメソッド。フォームを送信するとき、アクションにパラメーターがある場合は、POST フォーム メソッドを使用するのが最適です。フォーム内のデータについては、POST を通じて直接取得します。アクション内のパラメーターについては、GET を通じて取得します。
データクエリを行う場合はGETメソッドを使用し、データの追加、変更、削除を行う場合はPOSTメソッドを使用することを推奨します。
リクエストが最初に読み取られ、次にポストが読み取られます。これらは同時に存在します。つまり、前の変数は上書きされます。

典型的な例:

echo "get\n";
print_r($_GET);
echo "post\n";
print_r($_POST);
echo "リクエスト\n";
print_r($_REQUEST);
?>
< フォームメソッド=ポストアクション='?a=1&b=2'>
< 入力タイプ=テキスト名=a 値='a'>
< 入力タイプ=テキスト名=b 値='b'>
<入力タイプ=送信値=テスト>
< /フォーム>

出力結果:

取得:
配列
(
[a] => 1
[b] => 2
)
投稿:
配列
(
[a] =>
[b] => b
)
リクエスト:
配列
(
[a] =>
[b] => b
)

実はphpの設定ファイルphp.iniにvariables_order = "GPCS"という設定項目があり、GPCSとはそれぞれGET、POST、Cookie、Serverの変数の解析順序を意味します。 php ファイルは GET、POST、Cookie、サーバーです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート