php では、「$_get」は「method="get"」でフォームから値を収集する、つまりフォーム form で GET メソッドを使用して送信されたフォームデータを受け取るために使用されます。 $_post" は、"method="post"" でフォームから値を収集するために使用されます。つまり、POST リクエストによって送信されたフォーム データを取得します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
get と post in の 2 つのメソッドを使用します。 PHP フォームフォームから値を受信する フォームフォームでは、PHP の受信方法と受信アドレスを定義できます。
get メソッドと post メソッドには主に次の違いがあります。
get は、送信されたフォームの action 属性が指す URL にパラメータ データ キューを追加します。値はフォームの各フィールドに 1 対 1 で対応し、 URLで見られます。 Post は、HTTP post メカニズムを使用して、フォームの各フィールドとそのコンテンツを HTML HEADER に配置し、action 属性が指す URL アドレスに送信します。ユーザーはこのプロセスを見ることはできません。
get 転送されるデータの量は少なく、2KB を超えることはできません。これは主に URL の長さの制限によるものです。郵送で送信されるデータの量は比較的多く、通常はデフォルトで無制限です。
get のセキュリティは非常に低く、post のセキュリティは高くなりますが、get の実行効率は post メソッドよりも優れています。
get はフォームのデフォルトのメソッドです。
送信するデータに機密情報が含まれる場合は post データ送信メソッド、データクエリを行う場合は get メソッド、データの追加、変更、削除の場合は post メソッドを使用することをお勧めします。
$_POST グローバル変数
POST メソッドは URL に依存せず、渡されたパラメーター値をアドレス バーに表示しません。また、POSTメソッドはサーバーへのデータ転送を無制限に行うことができ、送信された情報はすべてバックグラウンドで送信されるため、ブラウザ側ではその処理を見ることができず、セキュリティも比較的高いです。したがって、POST メソッドは、重要な情報 (クレジット カード番号など) や比較的大量のデータをサーバーに送信する場合に適しています。
ヒント: デフォルトでは、POST メソッドによって送信される情報の最大サイズは 8MB ですが、php.ini 設定ファイルの post_max_size の値を変更することで、後で変更できます。
PHP の $_POST グローバル変数は、POST リクエストによって送信されたフォーム データを取得するために特別に使用されます。データ構造は連想配列となっており、配列のキー名がフォーム要素名の値、配列の値が対応するフォームの値となります。実際のプログラム開発では、フォームのメソッド属性でデータ送信にPOSTを使用することが指定されている場合、$_POSTを使用してフォームデータを取得する必要があります。
$_POST グローバル変数の使い方は通常の配列と同じで、$_POST['key value'] の形式でその中のデータに直接アクセスできます。以下は簡単な例です。実証するために。
[例] $_POST グローバル変数を使用して、フォームで送信されたデータを取得します。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="index.php" method="post"> 姓名:<input type="text" name="name" placeholder="请输入姓名"><br> 性别:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br> 爱好:<input type="checkbox" name="hobby[]" value="read">阅读 <input type="checkbox" name="hobby[]" value="travel">旅游 <input type="checkbox" name="hobby[]" value="sport">运动 <input type="checkbox" name="hobby[]" value="internet">上网<br> 职业:<select name="job"> <option value="coder">程序员</option> <option value="teacher">教师</option> <option value="doctor">医生</option> <option value="other">其它</option> </select><br> <input type="submit" value="提交">  <input type="reset" value="重置"> </form> </body> </html> <?php if(!empty($_POST)){ echo '提交成功!<br><pre class="brush:php;toolbar:false">'; var_dump($_POST); } ?>
上記のコードを実行し、入力ボックスに適切な情報を入力し、送信ボタンをクリックして、フォームに入力された情報を PHP プログラムに転送します。その後、PHP プログラムは $_POST を通じてフォームで渡された情報を受け取り、その情報を処理することができます。たとえば、データをデータベースに保存したり、ブラウザに出力したりできます。詳細なコードは示しません。自分で試してみてください。
$_GET グローバル変数
$_GET グローバル変数は、前に紹介した $_POST グローバル変数に似ており、フォーム情報を受け取るために使用されます。 . GET メソッドを使用して送信されたフォーム データの場合、GET メソッドはフォーム フォームのメソッド属性のデフォルトのメソッドです。 GET メソッドを使用して送信されたフォーム データは URL に追加され、URL の一部としてサーバーに送信されます。
プログラムの開発過程では、GETメソッドで送信したデータをURLに添付して送信するため、プログラムのアドレスバーには「URLユーザーが渡したパラメータ」という情報が表示されます。次のような URL: 表現:
http://url?name1=value1&name2=value2 ...
このうち、url はフォーム応答アドレス (http://c.biancheng.net など)、name1 と name2 はフォーム要素の名前、 value1 と value2 はフォーム要素の値です。 URLとform要素は「?」で区切られ、複数のform要素は「&」で区切られ、各form要素の形式は「name=value」で固定です。
ブラウザごとに URL の長さの制限が異なるため、GET メソッドを使用してデータを送信する場合は、データのサイズに注意する必要があります。データの長さがブラウザの制限を超える場合は、データは切り捨てられるため、データが失われます。主流ブラウザの URL の長さ制限は次の表のとおりです。
Browser | 最大長 (文字数) |
---|---|
Internet Explorer | 2083 |
Firefox | 65536 |
chrome | 8182 |
サファリ | 80000 |
オペラ | 190000 |
$_GET 全局变量与 $_POST 的结构相似,同样是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。$_GET 不仅仅可以获取 form 表单的数据,只要是 URL 中的参数都可以使用 $_GET 获取。
另外一点需要注意的是:在 PHP 中使用 $_POST 或者 $_GET 获取表单数据时,是区分大小写的,所以在开发过程中应该注意不能忽略了字母的大小写。
【示例】使用 $_GET 全局变量获取 form 表单中传输的数据。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="index.php" method="get"> 姓名:<input type="text" name="name" placeholder="请输入姓名"><br> 性别:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br> 爱好:<input type="checkbox" name="hobby[]" value="read">阅读 <input type="checkbox" name="hobby[]" value="travel">旅游 <input type="checkbox" name="hobby[]" value="sport">运动 <input type="checkbox" name="hobby[]" value="internet">上网<br> 职业:<select name="job"> <option value="coder">程序员</option> <option value="teacher">教师</option> <option value="doctor">医生</option> <option value="other">其它</option> </select><br> <input type="submit" value="提交">  <input type="reset" value="重置"> </form> </body> </html> <?php if(!empty($_GET)){ echo '提交成功!<br><pre class="brush:php;toolbar:false">'; var_dump($_GET); } ?>
推荐学习:《PHP视频教程》
以上がPHPで$_getと$_postを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。