ホームページ  >  記事  >  バックエンド開発  >  PHP POSTメソッド

PHP POSTメソッド

WBOY
WBOYオリジナル
2024-08-29 12:56:49762ブラウズ

PHP ポスト メソッドは、ブラウザ クライアントが必要な情報を Web サーバーに送信できる方法の 1 つです。基本的に、Web サイトにログインしたり、メールを操作したりする必要がある場合、それはフォームを扱っていることを意味します。フォームは、ユーザーから取得した情報を取得して Web サーバーに送信するために使用されます。これらは基本的に、入力ボックス、ラジオ ボタン、チェックボックスなどのグラフィカル ユーザー インターフェイス項目を持つ HTML タグです。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

フォームは

を使用して定義されます。入力フォーム要素を使用して記述されたタグと GUI アイテムは、ユーザー入力を可能にする調整可能で動的なアプリケーションの開発を扱うときに使用されます。フォームを使用して、データベース情報内の既存のデータを変更することもできます。

構文:

<?php
$_POST['var'];
?>

どこ、

  • var は URL の変数名です
  • $_POST は PHP 配列です

PHP POST メソッドはどのように機能しますか?

このメソッドは HTTP ヘッダーを介して値を送信します。上記の変数はグローバル スコープを持つため、プログラム内のどこからでも取得できます。このメソッドは、フォーム ポストの値を URL に表示しない場合に最適です。

そのプロパティの一部は次のとおりです:

  • 送信するデータのサイズに制限はありません。
  • データ転送は HTTP ヘッダーを通じて行われるため、セキュリティもそれに依存します。したがって、HTTPS メソッドを使用することで、HTTPS メソッドが安全であることを確認できます。
  • POST メソッドを使用すると、ASCII データとバイナリ データの両方にアクセスできます。
  • $_POST は、このメソッドによって送信されるすべての情報にアクセスする配列です。

PHP POST メソッドの実装例

以下に挙げる例を示します:

例 #1

コード:

<html>
<body>
<form action="Test.php" method="post">
First Name: <input type="text" name="name"><br>
Last Name: <input type="text" name="name"><br>
Mail ID: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

出力:

PHP POSTメソッド

説明: この例では、フォームが名、姓、メール ID の 3 つの属性で構成される単純な HTML フォーム送信を示します。ユーザーがすべての情報を入力して送信ボタンをクリックすると、入力されたデータは HTTP POST メソッドを使用して送信されます。

例 #2

コード:

<?php
if (!empty($_POST))
{
// Defining an array for the list of post values for all the
// different forms on the page
$pNameArray = array('Form1', 'Form2', 'Form3');
// To search all post identifiers that fall within $_POST
$postIdArr = array();
foreach ($pNameArray as $pName)
{
if (array_key_exists($pName, $_POST))
{
$postIdArr[] = $pName;
}
}
// There should be only one post identifier at a time and hence
// only an individual form should be used for submitting at a time
// A warning statement can be used instead of the die statement as used here
if (count($postIdArr) != 1)
{
count($postIdArr) < 1 or
// validation of count
die("\Validating count here: " .
implode(" ", $postIdArr));
// The above condition is not satisfied hence there is only one post identifier
die("\Presence of unknown post");
}
// Using switch statement to execute the codes for respective forms
switch ($postIdArr[0])
{
case 'Form1':
echo "Execute actual code for Form1.";
break;
case 'Modifyform':
echo "Execute actual code for Form2.";
break;
case 'Deleteform':
echo "Execute actual code for Form3.";
break;
}
}
else // $_POST is empty.
{
// displaying that POST is not executed
echo "POST is empty";
}
?>

出力:

PHP POSTメソッド

説明: この例では、複数のフォームに対して POST メソッドがどのように機能するかを示しています。したがって、switch ステートメントを使用してさまざまなフォームを処理しており、エラーなしで処理するにはすべてのフォームが区別されている必要があります。さらにフォームを追加する必要がある場合は、配列と switch ステートメントにエントリを作成するだけです。

例 #3

コード:

<?php
if( POST["fullname"] ||
POST["weight"] || POST["height"] ) {
if (preg_match("/[^A-Za-z'-]/",$_POST['fullname'] )) {
die ("The name given is invalid and should be alpha");
}
echo "Welcome ". $_POST['fullname']. "<br />";
echo "Welcome ". $_POST['height']. "<br />";
echo "You are ". $_POST['weight']. "weight in kgs";
exit();
}
?>
<html>
<body>
<form action = "<?php $_PHP_SELF ?>" method = "POST">
Full Name: <input type = "text" name = "fullname" />
Height: <input type = "text" name = "height" />
Weight: <input type = "text" name = "weight" />
<input type = "submit" />
</form>
</body>
</html>

出力:

PHP POSTメソッド

説明: この例のクエリ文字列は、POST メソッド リクエストの HTTP メッセージの本文に送信されます。ここではフルネーム、身長、体重という 3 つの属性を指定しています。

PHP の GET メソッドに対する POST メソッドの利点

  • POST メソッドは、ユーザーが入力した情報が URL クエリ文字列やサーバーのログに表示されないため、GET と比べて安全です。
  • POSTメソッドではテキストデータだけでなく、ファイルのアップロードなどバイナリデータも送信できるため、GETメソッドよりも受け渡せるデータの範囲が広がります。このような多くの高度な機能をサポートしています。
  • 数値、文字列、バイナリ型など、さまざまなデータ型をサポートします。

結論

上に示したように、基本的にフォームデータの収集にはPHPのPostメソッドが使用されます。したがって、HTTP Post メソッドを使用して Web サーバー経由で情報を送信します。この情報はアドレス バーには決して表示されないため、サーバー経由で機密データを送信するためによく使用されます。また、パフォーマンスの面でいくつかの欠点があります。POST メソッドのリクエストはキャッシュされないため、ブラウザーの履歴に保持されません。

以上がPHP POSTメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。