检查 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