检查字段是否全部用PHP填充

时间:2014-05-11 06:27:59

标签: php css for-loop

我已经创建了一个页面,您可以在其中设置要提供的信息行数,此数据通过一个函数并显示行数。现在必须发送每个信息,但首先我想检查是否填写了所有字段。

生成我使用for循环的行。

这就是我现在尝试做的事情:

<td <?php checkfilled("datum".$x) ?> ><input size="6" type='text' name='datum<?php echo $x ?>' value='<?php setvalue2("datum".$x)?>' /></td>

已检查的功能将尝试检查它是否已填写。

function checkfilled($fieldname){

    if(isset($_POST['send'])){
        if($_POST[$fieldname]=="" || !isset($_POST[$fieldname])){       
            echo 'class="error"';
        }else{
            echo "";
        }
    }

}

错误类包含如果未填写背景颜色将设置为绿色。

但是有些奇怪的原因它不起作用。

有谁知道可能出现的问题以及如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

使用此

function checkfilled($fieldname){

if(isset($_POST['send'])){
    if(isset($_POST[$fieldname]) && !empty($_POST[$fieldname])){       
        echo 'class="success"';
    }else{
        echo 'class="error"';
    }
}
}

答案 1 :(得分:0)

if(empty($_POST['fieldname'])){
echo "<div style="background:green;.....">This field is missing</div>";
}

else if(empty($_POST['another_field_name'])){
echo "<div style="background:green;.....">This field is missing</div>";
}
else{
echo "everything seems good, Let's do some math.";
}

答案 2 :(得分:0)

更改

$_POST[$fieldname]=="" || !isset($_POST[$fieldname])

要:

empty($_POST[$fieldname])

答案 3 :(得分:0)

你的代码很好。我运行了一些测试,问题在于为<td>标签设置样式。您没有指定,但我想知道您的<td>是否包含<table><tr>。如果没有,那就是问题。

我测试了你的确切代码,它就像你描述的那样失败了。然后我将<td>更改为<div>,它就像一个魅力。

然后我将<td>包裹在<table><tr> ... </tr></table>中,它也运行良好。

因此,请确保您的<td>在一个表格中,并且您的代码应该有效。