檢查 PHP 中是否存在某 Post

Habdul Hazeez 2023年1月30日 2022年5月13日
  1. 檢查 $_POST 是否存在於 isset()
  2. 使用 Empty() 函式檢查 $_POST 是否存在
  3. 檢查 $_POST 是否存在 isset() 函式和空字串檢查
  4. 檢查 $_POST 是否存在否定運算子
檢查 PHP 中是否存在某 Post

PHP $_POST 是一個超級全域性變數,可以包含通過 post 方法提交的 HTML 表單資料的鍵值對。我們將學習不同的方法來檢查 $_POST 是否存在並在本文中包含一些資料。這些方法將使用 isset()empty() 和空字串檢查。

檢查 $_POST 是否存在於 isset()

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

使用 Empty() 函式檢查 $_POST 是否存在

你可以使用 empty() 函式 檢查 $ _POST 的存在。但是,empty() 函式將在以下情況下返回 true

  • 當所有 $_POST 值都是空字串時
  • 引數為零

下面的 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

檢查 $_POST 是否存在 isset() 函式和空字串檢查

如果 $_POST 的值為空字串,則 isset() 函式返回 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 是否存在否定運算子

否定運算子 (!) 會將真陳述變為假,將假陳述變為真。因此,你可以使用否定運算子檢查 $_POST 是否存在。要檢查 $_POST,請在 if-else 語句中新增否定運算子。

在第一部分,如果 $_POST 為空,你可以停止對其資料的 p 處理。在條件的第二部分,你可以處理資料。

首先,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 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