ホームページ > バックエンド開発 > PHPの問題 > PHPでのpostの使用法は何ですか

PHPでのpostの使用法は何ですか

藏色散人
リリース: 2023-03-06 20:02:01
オリジナル
5085 人が閲覧しました

php の post メソッドの主な目的は、データを「渡す」ことです。「

..."。

PHPでのpostの使用法は何ですか

# 推奨: 「

PHP ビデオ チュートリアル

$_POST 配列

GET メソッドの本来の目的はダウンロード (アップロード メソッド PUT に対応) であるため、特にデータの転送には使用されません。要求されたすべてのデータを URL エンコードし、要求されたリソースの後にサフィックスを付けます。データが多いと URL が非常に長くなりますが、これは問題ではなく、一部の WEB ブラウザまたはサーバー プログラムがこの文字列の長さを制限していることです。このとき、POSTメソッドを使用する必要があります。

名前が示すように、POST メソッドの主な目的はデータを「転送」することです。すべてのリクエスト ヘッダーの後にデータを配置してアップロードします。このようにして、アップロードされるデータの量に関係なく、問題ありません(リクエストデータのサイズはWEBサービスが許容するサイズに依存します)。一般的に、フォームデータに特別な必要がなければ、POSTメソッドを使用してアップロードされるため、アップロードするデータの具体的なサイズを気にする必要はありません。

POST メソッドのリクエスト データは $_POST 配列にカプセル化されており、その使用法は $_GET 配列と同じです。上記のフォームにメソッド属性を追加すると、次のようになります:

<!– post.php文件 –>
<?php
if($_POST[&#39;post&#39;]) {
foreach($_POST as $index = > $value) echo “$_POST[$index] = $value”, “<BR>”;
}
?>
<form action=”post.php” method=”post”>
<label for=”id”>账号:</label><input type=”text” name=”id”>
<label for=”password”>密码:</label><input type=”text” name=”password”>
<input type=”submit” name=”post” value=”提交”>
</form>
ログイン後にコピー

もう 1 つの興味深い設定は、GET メソッドと POST メソッドが矛盾しないことです。POST メソッドで GET 変数を渡すこともできます。上記の post.php ファイルを少し変更すると、次のようになります。

<!– post.php文件 –>
<?php
if($_POST[&#39;post&#39;]) {
foreach($_POST as $index = > $value) echo “$_POST[$index] = $value”, “<BR>”;
foreach($_GET as $index = > $value) echo “$_GET[$index] = $value”, “<BR>”;
}
?>
<form action=”post.php?act=login” method=”post”>
<label for=”id”>帐号:</label><input type=”text” name=”id”>
<label for=”password”>密码:</label><input type=”text” name=”password”>
<input type=”submit” name=”post” value=”提交”>
</form>
ログイン後にコピー

このプログラムは、GET メソッド (act パラメーター) と POST メソッド (id およびパスワード パラメーター) のリクエスト データを同時に処理します。 . GET メソッドのリクエスト 変数サフィックスはフォームアクション属性値の後にありますが、唯一の問題は、GET メソッドのリクエスト変数をユーザーが入力できないことです。通常、固定データはGETメソッド、ユーザーが入力したデータはPOSTメソッドで送信され、両者は異なるロジックでデータを区別します。ただし、このフォームを構築するとき、読者は 2 つのメソッドで同じ変数名を持たないように注意する必要があります。そうしないと、予期しない結果が発生します。最後に、GETメソッドでデータを送信する場合、タグのaction属性値にクエリ文字列を含めることはできません(含めても効果はありません)。次の形式では、act パラメータを送信できません:

<form action=”post.php?act=login” method=”get”>
<label for=”id”>账号:</label><input type=”text” name=”id”>
<label for=”password”>密码:</label><input type=”text” name=”password”>
<input type=”submit” name=”post” value=”提交”>
</form>
ログイン後にコピー

を次の形式に変更する必要があります:

<form action=”post.php” method=”get”>
<label for=”id”>账号:</label><input type=”text” name=”id”>
<label for=”password”>密码:</label><input type=”text” name=”password”>
<input type=”submit” name=”post” value=”提交”>
<input type=”hidden” name=”act” value=”login”>
</form>
ログイン後にコピー

以上がPHPでのpostの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート