PHP にポストが存在するかどうかを確認する

Habdul Hazeez 2023年1月30日
  1. $_POSTisset() とともに存在するかどうかを確認する
  2. $_POSTEmpty() 関数とともに存在するかどうかを確認する
  3. $_POSTisset() 関数と空の文字列チェックで存在するかどうかを確認する
  4. $_POST が否定演算子とともに存在するかどうかを確認する
PHP にポストが存在するかどうかを確認する

PHP$_POST は、post メソッドを介して送信された HTML フォームデータのキーと値のペアを含めることができるスーパーグローバル変数です。この記事では、$_POST が存在し、いくつかのデータが含まれているかどうかを確認するためのさまざまな方法を学習します。これらのメソッドは、isset()empty()、および空の文字列チェックを使用します。

$_POSTisset() とともに存在するかどうかを確認する

isset() 関数は、変数が設定されているかどうかをチェックできる PHP 組み込み関数であり、NULL ではありません。また、配列と配列キー値でも機能します。PHP$_POST には配列キーの値が含まれているため、isset() で処理できます。

$_POST が存在するかどうかを確認するには、それを値として isset() 関数に渡します。同時に、ユーザーが特定のフォーム入力を送信したかどうかを確認できます。ユーザーがフォーム入力を送信すると、空の場合でも $_POST で利用できるようになります。

次の HTML は、操作するものを提供します。事前に入力された名前フィールドを持つフォームフィールドがあります。

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
	<label>First Name</label>
	<input type="text" name="first_name" value="DelftStack">
	<input type="submit">
</form>

次の PHP は、送信ボタンをクリックしたときに $_POST が存在するかどうかをチェックします。

<?php
    if (isset($_POST['first_name'])) {
        $first_name = $_POST['first_name'];
        echo $first_name;
    }
?>

出力:

DelftStack

$_POSTEmpty() 関数とともに存在するかどうかを確認する

empty() 関数を使用して、$ _POST の存在を確認できます。ただし、empty() 関数は次の場合に true を返します。

  • すべての $_POST 値が空の文字列の場合
  • 引数はゼロです

次の HTML は前の HTML と似ていますが、今回は名前が異なります。

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <label>First Name</label>
    <input type="text" name="first_name" value="Mathias Jones">
    <input type="submit">
</form>

次のコードブロックは、empty() 関数を使用して $_POST をチェックする方法を示しています。

<?php
    if (!empty($_POST)) {
        $first_name = $_POST['first_name'];

        echo $first_name;
    }
?>

出力:

Mathias Jones

$_POSTisset() 関数と空の文字列チェックで存在するかどうかを確認する

isset() 関数は、$ _ POST の値が空の文字列の場合は true を返しますが、NULL 値の場合は false を返します。isset($_POST['x']) = NULLisset($_POST['x']) = ''の値を出力しようとすると、どちらの場合も空の文字列が返されます。

その結果、空の文字列をチェックする必要があります。isset() と空の文字列チェックの組み合わせにより、データを処理する前に $_POST に空の文字列が含まれる可能性がなくなります。

次のコードブロックでは、使用する HTML があります。

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <label>First Name</label>
    <input type="text" name="first_name" value="Mertens Johanssen">
    <input type="submit">
</form>

$_POST が存在するかどうかを確認します。

<?php
    if (isset($_POST['first_name']) && $_POST['first_name'] !== "") {

        $first_name = $_POST['first_name'];

        echo $first_name;
    }
?

出力:

Mertens Johanssen

$_POST が否定演算子とともに存在するかどうかを確認する

否定演算子(!)は、true ステートメントを false に変換し、false ステートメントを true に変換します。したがって、否定演算子を使用して $_POST が存在するかどうかを確認できます。$_POST を確認するには、if-else ステートメントの前に否定演算子を追加します。

最初の部分で、$_POST が空の場合、そのデータの p 処理を停止できます。条件の 2 番目の部分では、データを処理できます。

まず、HTML:

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <label>First Name</label>
    <input type="text" name="first_name" value="Marcus Alonso">
    <input type="submit">
</form>

次のコードブロックは、否定演算子を使用して $_ POST が存在するかどうかを確認する方法を示しています。

<?php
    if (!$_POST) {
        echo "Post does not exist";
    } else {
        $first_name = $_POST['first_name'];

        echo $first_name;
    }
?>

出力:

Marcus Alonso
著者: Habdul Hazeez
Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

関連記事 - PHP Post