ホームページ  >  記事  >  バックエンド開発  >  PHP の $_GET と $_POST の違い

PHP の $_GET と $_POST の違い

一个新手
一个新手オリジナル
2017-09-13 09:13:032325ブラウズ

$_GET と $_POST

post と get は、ページ送信の 2 つの方法を参照します。

get: パラメータは URL に反映され、ページめくりに使用でき、単純なクエリでは 2k 未満のコンテンツしか受信できません。制限があり、コンテンツが表示されるため、セキュリティが低下します。

post: ページ フォームの送信、ファイルのアップロード、その他の操作に使用されます。サイズ制限はなく、アドレスバーには表示されません。

$_POST 変数

$_POST 変数は、HTTP POST メソッドによって送信された変数名と値を内容とする配列です。

$_POST変数は、method="post"でフォームから値を収集するために使用されます。

POST メソッドを使用してフォームから送信されたメッセージは誰にも見えず (ブラウザのアドレス バーには表示されません)、送信される情報量に制限はありません

$_POST を使用する理由?

HTTP POST 経由で送信された変数は URL には表示されません。

変数には長さの制限はありません。

ただし、URL に変数が表示されないため、ページをブックマークすることはできません。

$_GET変数

$_GET変数は、method="get"でフォームから値を収集するために使用されます。直感的なものは、たとえば「wordpress」で検索したときに表示されるパラメータです。 Baidu で、I リクエストされた URL は http://www.baidu.com/s?ie=utf-8&bs=wordpress&f=8&rsv_bp=1&wd=wordpress&inputT=0 で、「?」以降のパラメータは $_GET で取得できます。各パラメータは「&」で区切られます。

$_GET 変数は、HTTP GET メソッドによって送信された変数名と値を内容とする配列です。

GET メソッドを使用してフォームから送信された情報は誰でも見ることができます (ブラウザのアドレス バーに表示されます)。送信される情報量には制限があります (最大 100 文字)。パラメータ 無制限ではありませんが、基本的に要件を満たすことができます。

$_GET を使用する理由

注: $_GET 変数を使用すると、すべての変数名と値が URL に表示されます。したがって、パスワードやその他の機密情報を送信する場合は、この方法を使用しないでください。ただし、変数は URL に表示されるため、ページをブックマークできます。場合によっては、これが便利です。

注: HTTP GET メソッドは、大きな変数値には適していません。値は 100 文字を超えることはできません。

****$_POST と $_GET の違い:

1. 前者は URL の列の送信内容を見ることができませんが、後者は URL の列の内容を見ることができます。

2.Get メソッドは変数の値を取得するために Request.QueryString を使用する必要がありますが、Post メソッドは送信されたコンテンツにアクセスするために Request.Form を使用します

3. 前者によって送信されるコンテンツのサイズは比較的大きく、セキュリティは比較的高く、実行効率はわずかに低くなります。後者のアップロード サイズは小さいですが、セキュリティは低く、実行効率は高くなります

4. Get メソッドを使用してデータを送信すると、ログイン ページなどのセキュリティの問題が発生します。 , Get メソッドでデータを送信すると、URL にユーザー名とパスワードが表示されます。ページがキャッシュできる場合、または他のユーザーが顧客のマシンにアクセスできる場合は、履歴レコードからユーザーのアカウントとパスワードを取得できるため、これをお勧めします。フォームの送信には Post メソッドを使用します。Post メソッドによってフォームが送信されます。ページの一般的な問題は、ページが更新されると、Request.Form と Request.QueryString が異なるソースからパラメーターを受け取ることです。前者はフォームからパラメータを受け取り、後者は URL パラメータからパラメータを受け取ります。

Request.Form: POSTで送信されたデータを取得します(Formで送信されたデータを受信します);

Request.QueryString: アドレスバーパラメータを取得します(GETで送信されたデータ)

以上がPHP の $_GET と $_POST の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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