这是一个从mysql数据库预填充表单值的页面。人们可以编辑表单并更新数据库记录。
我正在检查字段是否为空并创建错误变量。提交表单并重新呈现页面时,错误变量(保留为空的错误变量)变为true,因此我在页面上回显错误消息。
这只是回复错误消息的部分,而不是获取数据库字段的其他部分,然后创建错误变量,然后将页面刷新后的变量渲染回页面等。
<?php
if ($error != '') {
echo '<div class="error top">';
echo $error;
echo "<ul>";
if ($clientnameErr != '') { echo $clientnameErr; }
if ($ponumberErr != '') { echo $ponumberErr; }
if ($dropdate1Err != '') { echo $dropdate1Err; }
if ($dropqty1Err != '') { echo $dropqty1Err; }
if ($postage1Err != '') { echo $postage1Err; }
echo '</ul></div>';
}
?>
所以我想计算所有真实的错误并将该数字作为变量。我该怎么做?
因此,例如,如果clientname,ponumber和dropdate1保持为空,则那将是3个空,$ clientnameErr,$ ponumberErr和$ dropdate1Err的错误消息将回显,因为那些3 if语句将为真,所以我需要一个等于3的变量,所以我可以打印出来。
实际上我将继续展示它是如何制作所需的某些字段,然后创建错误变量,以防万一你需要它来解决上述问题。
if ($clientname == '' || $ponumber == '' || $dropdate1 == '' || $dropqty1 == '' || $postage1 == '') {
$error = '<p>ERROR: Please fill in all required fields!</p>';
if ($clientname == '') { $clientnameErr = '<li>Missing Client Name!</li>'; }
if ($ponumber == '') { $ponumberErr = '<li>Missing PO Number!</li>'; }
if ($dropdate1 == '') { $dropdate1Err = '<li>Missing Drop Date 1!</li>'; }
if ($dropqty1 == '') { $dropqty1Err = '<li>Missing Drop Quantity 1!</li>'; }
if ($postage1 == '') { $postage1Err = '<li>Missing Postage 1!</li>'; }
}
答案 0 :(得分:5)
使用数组来保存错误。然后,您只需使用count()
即可获得错误总数:
$errors = array();
if ($clientname == '') {
$errors['clientname'] = '<li>Missing Client Name!</li>'
}
if ($ponumber == '') {
$errors['ponumber'] = '<li>Missing PO Number!</li>'
}
$numErrors = count($errors);
if ($numErrors > 0) {
echo '<p>Total errors: ' . $numErrors . '</p>';
$error = '<p>ERROR: Please fill in all required fields!</p>';
echo "<ul>";
echo implode("\n", $errors);
echo "</ul>";
}