我有两个输入字段的登录div。将检查每个输入字段是否有错误。
当我提交数据时,存在一些问题。这是HTML:
<div class="small">
<?php if (!isset($errors['a'])):?>
<input type="text" id="a" name="a" value="<?php echo isset ($_POST['a'])? $_POST['a'] : 'Login'; ?>"/>
<?php endif;?>
<?php if (isset($errors['a'])):?>
<input class="log-error" type="text" id="a" name="a" value="<?php echo isset ($_POST['a'])? $_POST['a'] : 'Login'; ?>"/>
<?php endif;?>
</div>
<?php if (isset($errors['a'])):?>
<?php echo "<div id='errordiv'></div><div class='error'>";
echo $errors['a'][0];
echo "</div>";
endif;?>
<div class="small">
<?php if (!isset($errors['b'])):?>
<input type="text" id="b" name="b" value="<?php echo isset ($_POST['b'])? $_POST['b'] : 'Password'; ?>"/>
<?php endif;?>
<?php if (isset($errors['b'])):?>
<input class="log-error" type="text" id="b" name="b" value="<?php echo isset ($_POST['b'])? $_POST['b'] : 'Password'; ?>"/>
<?php endif;?>
</div>
<?php if ( ( isset($errors['b']) ) && (empty($errors['a'][0]) == true) ):?>
<?php echo "<div id='errordiv'></div><div class='error'>";
echo $errors['b'][0];
echo "</div>";
endif;?>
提交数据时,输入类不会同时显示两个错误。似乎值(value)标签导致了此问题。
当我从两个输入字段中删除值标签时,它将同时显示两个错误输入类。
最佳答案
在我看来,似乎存在逻辑误解。
如果要同时显示两个错误,请替换此行
<?php if ( ( isset($errors['b']) ) && (empty($errors['a'][0]) == true) ):?>
有了这个
<?php if (isset($errors['b'])):?>
关于php - PHP的输入类错误处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11690913/