PHP $_POST 変数
PHP では、事前定義された $_POST 変数は、method="post" でフォームから値を収集するために使用されます。
$_POST変数
事前定義された$_POST変数は、method="post"を使用してフォームから値を収集するために使用されます。
POST メソッドを使用してフォームから送信されたメッセージは誰にも見えず (ブラウザのアドレス バーには表示されません)、送信される情報量に制限はありません。
注: ただし、デフォルトでは、POST メソッドによって送信される情報の最大量は 8 MB です (php.ini ファイルで post_max_size を設定することで変更できます)。
例
form.html ファイルのコードは次のとおりです:
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="welcome.php" method="post"> 名字: <input type="text" name="fname"> 年龄: <input type="text" name="age"> <input type="submit" value="提交"> </form> </body> </html>
ユーザーが [送信] ボタンをクリックすると、URL は次のようになります:
Method="post" を使用する場合?
POST メソッドを使用してフォームから送信されたメッセージは誰にも表示されず、送信されるメッセージの量に制限はありません。
ただし、URLに変数が表示されないため、ページをブックマークできません。
PHP $_REQUEST 変数
事前定義された $_REQUEST 変数には、$_GET、$_POST、$_COOKIE の内容が含まれています。
$_REQUEST 変数は、GET および POST メソッド経由で送信されたフォーム データを収集するために使用できます。
例
「welcome.php」ファイルを次のコードに変更すると、$_GET、$_POST、その他のデータを受け入れることができます。
ようこそ <?php echo $_REQUEST["fname"]; ?>!<br>
あなたの年齢は <?php echo $_REQUEST["age"]; です。
GET と POST の値送信メソッドの違い:
1. Get は、フォーム内のデータを、variable=value の形式でアクションが指す URL の後ろに追加します。 "?" を使用して接続 各変数は "&" を使用して接続されます。Post はフォーム内のデータをフォームのデータ本体に配置し、対応する変数と値に従ってアクションが指す URL に渡します。
2. 送信プロセス中にデータはリクエストされた URL に配置され、今日の多くの既存のサーバー、プロキシ サーバー、またはユーザー エージェントはリクエスト URL をログ ファイルに記録してからリクエスト URL に配置するため、Get は安全ではありません。 . 一部の個人情報が第三者に見られる可能性があるため。さらに、ユーザーは送信されたデータをブラウザ上で直接確認することもでき、一部の内部システム メッセージがユーザーの目の前に表示されます。すべての Post 操作はユーザーには表示されません。
3. Get で転送されるデータの量は主に URL の長さの制限により小さいですが、Post は大量のデータを転送できるため、ファイルをアップロードする場合にのみ Post を使用できます (もちろん、別の理由があります)。後述します)。
4. Get はフォーム フォーム内のデータ セットの値を ASCII 文字に制限しますが、Post は ISO10646 文字セット全体をサポートします。
5. Get は Form のデフォルトのメソッドです。
次のセクション