6

私はこのフォーラムに新しく参加し、今夜から PHP を学んでいます。

フォームを送信したいのですが、次の違いがわかりません:

<form action="page2.php" method="GET">

<form action="page2.php" method="POST">

誰でも私を助けてくれますか?

ありがとう。

4

4 に答える 4

25

得る:

  • パラメータは URL の一部であるため、ブラウザの履歴に残ります
  • ブックマーク可能。
  • パスワードやその他の機密情報を送信する場合は、GET メソッドを使用しないでください。
  • 7607 文字の最大サイズ。
  • URL の例: page2.php?category=sport

役職:

  • パラメータはブラウザの履歴に保存されません。
  • ブックマークできません。
  • パスワードやその他の機密情報を送信するときに使用される POST メソッド。
  • POST メソッドの最大サイズは 8 Mb。
  • URL の例: page2.php
于 2013-03-02T03:19:32.333 に答える
1

慣例により、HTTP GETは検索フォームに使用され、HTTPPOSTはフォームの変更に使用されます。GETは、その情報を公開されているURLに表示し、そこから変数を照会できます。POSTはその情報を表示しません。セキュリティに関しては、実際には違いはありません。

于 2013-03-02T03:24:03.067 に答える
0

リクエストが使用される場合GET、フォームパラメータはURLにいわゆるクエリ文字列でエンコードされます。例えば

www.someemailprovider.com/?login=joe@email.com&password=xxyz

POSTリクエストは、GETリクエストとは異なり、URLではなくHTTPリクエストの本文でフォームパラメータを渡します。

さらに、べきGET等でありPOST、サーバーでGETメソッドを呼び出すと、サーバーでは何も変更されませんが、POSTを呼び出すと、サーバーが変更される可能性があり、サーバーに追加のデータが追加される可能性があるため、GETはべき等です。 POSTはそうではありませんが。

ノート

プログラマーとして覚えておくべき主なことは、GETメソッドを使用するようにフォームを定義しても、変更が発生するのを防ぐことはできないということです。GETリクエストを使用して、POSTクエリとほぼ同じことを行うことができます。ブラウザは通常、注文やデータベースへの書き込みなど、変更を引き起こすものにPOSTリクエストが使用されることを期待するようにコーディングされています。GETリクエストは、サーバー上の何にも影響を与えない純粋なクエリに使用する必要があります。したがって、大画面テレビの注文など、サーバーで変更を引き起こす可能性のあるアクションにはGETリクエストを使用しないことを常に忘れないでください。

于 2013-03-02T03:23:01.523 に答える
-1

これらは両方ともHTTPリクエストメソッドであり、PHP専用ではありません。

$_GETはendまたはURLに追加されます。つまり、 http://example.org/?foo=bar次のコマンド を使用してPHPでアクセスします。

$foo = $_GET['foo'];

または$foo= $ _REQUEST ['foo'];

GETは、他の人に見ても構わない情報に使用され、リンクやURLに手動で入力して結果を得ることができます。

$ _POSTはURLに表示されません。通常、フォームの送信後に使用されます。PHPでアクセスするには:

$foo = $_POST['foo'];

または$foo= $ _REQUEST ['foo'];

HTTPリクエストの詳細については、http://www.w3schools.com/tags/ref_httpmethods.aspをご覧ください。

于 2013-03-02T03:31:14.223 に答える