检查$ _POST是否为空并返回1条消息

时间:2013-12-20 12:25:09

标签: php

我有一个foreach循环来检查是否有任何空帖但我得到3x“空”我只想要返回1条消息,如果有任何帖子数据是空的 我有这个PHP代码。

if (isset($_POST["registreer"]))
    {
        unset($_POST["registreer"]);

        foreach ($_POST as $input => $value)
        {
            if (empty($_POST[$input]))
            {
                echo "empty";
            }
        }
    }

5 个答案:

答案 0 :(得分:3)

您不需要foreach,而是可以使用in_array()

if (in_array("", $_POST)) {
   echo 'Whatever';
}

答案 1 :(得分:2)

打印信息后,使用break结束循环。

    foreach ($_POST as $input => $value)
    {
        if (empty($value))
        {
            echo "empty";
            break;
        }
    }

答案 2 :(得分:0)

下面将空$ _POST数组添加到$ emp数组并在循环后打印它们。你没有说你是否想知道哪些是空的,但希望它有所帮助。

if (isset($_POST["registreer"]))
{
    unset($_POST["registreer"]);

    foreach ($_POST as $input => $value)
    {
        if (empty($_POST[$input]))
        {
            $emp[$input] = "leeg";

        } 
    }

    print_r($emp);
}

答案 3 :(得分:0)

试试这个

if (isset($_POST["registreer"]))
    {
        unset($_POST["registreer"]);
        $flag =0;
        foreach ($_POST as $input => $value)
        {
            if (empty($_POST[$input]))
            {
                $flag = 1;
            }
        }
        if( $flag==1){
            echo "leeg";
         }
    }

当帖子为空时,这只返回一次“leeg”

答案 4 :(得分:0)

尝试这样,如果你只想显示一次消息,那么空字段就是一个或多个。

$errorSent = 0;

if (isset($_POST["registreer"]))
{
    unset($_POST["registreer"]);

    foreach ($_POST as $input => $value)
    {
        if (empty($_POST[$input]))
        {
            if ($errorSent == 0)
            {
                echo "empty";
            }
            $errorSent = 1
        }
    }
}