彼らに共通しているのは、同じように機能するということです。 技術的には違いはありません。 しかし、イデオロギーの違いがあります。
PHPのコンテキストでそれらをカバーします。 HTTPプロトコルは交換用に作成されているため、間接的にPHPに関連していることに注意してください。 htmlページ PHPは、両方の機能を拡張するだけです。
GETリクエストはデータの受信に使用され、POSTは送信に使用されます。 (念のため、技術的には同じように機能します)。
したがって、PHPのコンテキストでは、このイデオロギーに基づいて、次のことを行いました。
1.スーパーグローバル配列($ _GET、$ _ POST)は、PHPを起動するたびにデフォルトで作成されます。
2.クエリ文字列に疑問符(?)がある場合。 その後、彼の後に重要なすべて パラメーター GETリクエストの場合、「key」=「value」の形式で表示され、アンパサンド(&)文字が区切り文字として使用されます
例:
GET /index.php?name=Andrey&surname=Galkin
これはクエリ文字列であり、2つのパラメータがあります。 これらのパラメーターは、最終的に$ _GET配列になります。
3. $ _POSTは別の方法で入力されます。 この配列の内容は、「リクエストヘッダー」から入力されます。 つまり、明示的な形式でビューから隠された場所からです。 このようなヘッダーを作成するすべてのルーチンは、ブラウザーによって引き継がれます。 見出しで何かが手動で編集されることもありますが。
ほとんどの場合、POSTリクエストはフォームで使用されます(データの送信用)。
たとえば、ログインフォームの2つのフィールドloginとpasswordがあります。
GETメソッドを使用していると想像してみましょう。 次に、フォームを送信するときに、次のアドレス/login.php?login=Andrey&password=123にアクセスし、このような情報をこの方法で転送することはまったく安全ではないことに同意します。 誰でもブラウザを開いてサイトアドレスの入力を開始でき、履歴からパスワードとログインを確認できます。
ただし、POSTメソッドを使用して指定した場合、次のリクエストを受け取ります。
POST /login.php(login = Andrey&password = 123)角かっこで囲まれ、ブラウザに保存されないもの。
一般的に、要約すると:
GETは、特定の方法(並べ替え、現在のブログページ、検索文字列など)で特定のページを取得することです。
POST-このデータがスクリプト実行の結果(ログイン、パスワード、クレジットカード番号、メッセージなど)にのみ影響するという意味で、ページの表示に影響を与えないデータを送信するため。
そしてもう1つの良いニュースは、たとえば、それらを組み合わせることができます
POST /index.php?page=login(login = Andrey&password = 123)これから何が起こり、どのパラメーターがどの配列に入るのかについては、すでに十分に説明したと思います。
この投稿は、GETとPOSTの2つの主要な方法を使用してインターネット上でデータを転送する原理を説明することを目的としています。 詳細にあまり興味がない方のために、シフトワークジェネレーターの説明書の補足として書きました☺。
次のアドレスに移動します(これは視覚的な説明です)。http://calendarin.net/calendar.php?year = 2016ブラウザのアドレスバーに注意してください:calendarin.net/calendar.php ?年= 2016メインファイルには名前が付けられ、その後に疑問符(?)と値が「2016」の「year」パラメーターが続きます。 したがって、疑問符に続くのはGETリクエストだけです。 簡単だ。 複数のパラメーターを渡すには、複数のパラメーターを渡すには、アンパサンド(&)で区切る必要があります。 例:calendarin.net/calendar.php ?年= 2016&表示=就業日と休日
メインファイルには引き続き名前が付けられ、疑問符(?)が続き、次に-値が「2016」のパラメーター「year」、次に-アンパサンド(&)、-値が「work」のパラメーター「display」 -日-日-オフ "。
GETパラメータはで直接変更できます アドレスバーブラウザ。 たとえば、値「2016」を「2017」に変更してキーを押すと、2017年のカレンダーに移動します。
これは、隠された方法でのデータの送信です(ページアドレスは変更されません)。 つまり、プログラム(スクリプト)の助けを借りてのみ送信されたものを見ることができます。 たとえば、テキスト内の文字をカウントするための次のツールでは、ソースデータはPOSTメソッドを使用して送信されます。http://usefulonlinetools.com/free/character-counter.php
ご不明な点がございましたら、ご意見、ご感想、メールをお送りください。
前回の投稿で説明したGETメソッドに加えて、HTTPプロトコルを介してリクエストを送信するための別のメソッドであるPOSTメソッドがあります。 POSTメソッドも実際によく使用されます。
GETメソッドを使用してサーバーにアクセスするために、URLにリクエストを入力するだけで十分な場合、POSTメソッドではすべてが異なる原則に従って機能します。
この種のリクエストを満たすには、Webページにあるtype = "submit"属性のボタンをクリックする必要があります。 このボタンは要素にあることに注意してください
ユーザーがテキストフィールドにテキストを入力して[送信]ボタンをクリックすると、ユーザーが入力したコンテンツの値を含むテキスト変数がサーバーに送信されます。
簡単な用語でのPOSTおよびGETリクエスト
この変数はPOSTメソッドによって送信されます。
このような形式で書く場合:
フォームには属性があります。最も一般的なものをリストします。
フォームを作成しましょう:
ハンドラーファイルとして、ファイルを置きます test.php私があなたのために例を書くのはその中にあります。 99.9%のケースで使用されているので、投稿の送信方法を設定しました。 フォームにも名前を付けました-フォーム
それでは、フォーム要素の世界に飛び込みましょう。 最初に理解する必要があるのは、ほとんどすべての要素がタグであるということです。
唯一の違いは属性にあります タイプこれらのタグで。 使用されているフォーム要素をリストします。
![](https://i0.wp.com/rio-shaman.ru/upload/032325218.jpg)
あなたはそのような分野を何度も見たことがあると確信しているので、ここで彼らが言うように:「コメントなし」
それでは、次に取り組む短いトレーニングアンケートをまとめましょう。 私たちの仕事は、記入した人の名前、性別、出身国、好きな色、ユーザーが自分自身について何かを追加できるテキストフィールドを示す小さなアンケートを作成することです。 それが私がしたことです:
その価値
method属性の値では、大文字と小文字は区別されません。 getとpostの2つの方法があります。
Getこのメソッドは、最も一般的な方法の1つであり、必要な情報を取得してアドレスバーにデータを転送するように設計されています。 この場合、ペア「name = value」が疑問符の後のアドレスに追加され、アンパサンド(&記号)で区切られます。 getメソッドを使用する便利な点は、すべてのパラメーターを含むアドレスを繰り返し使用できることです。たとえば、ブラウザーのブックマークに保存したり、アドレスバーでパラメーター値を直接変更したりできます。 post postメソッドは、ブラウザリクエストでサーバーにデータを送信します。 これにより、getメソッドには4Kの制限があるため、getメソッドで使用できるよりも多くのデータを送信できます。 フォーラム、郵便サービス、データベースの作成、ファイル転送などで大量のデータが使用されます。
必要な属性
デフォルト値
HTML5 IE Cr Op Sa Fx
FORMタグ、メソッド属性