我已经创建了一个页面,您可以在其中设置要提供的信息行数,此数据通过一个函数并显示行数。现在必须发送每个信息,但首先我想检查是否填写了所有字段。
生成我使用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 "";
}
}
}
错误类包含如果未填写背景颜色将设置为绿色。
但是有些奇怪的原因它不起作用。
有谁知道可能出现的问题以及如何解决这个问题?
答案 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>
在一个表格中,并且您的代码应该有效。