2012-07-27 57 views
0

我有一个登录div与两个输入字段。每个输入字段都会检查错误。php输入类错误处理?

当我提交数据时有一些问题。这里是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;?> 

提交数据时,它不会同时显示输入类的两个错误。看起来值标签导致了这个问题。

当我从两个输入字段中删除值标记时,它将同时显示两个输入类的错误输入类。

+2

哦替换该行

<?php if ((isset($errors['b'])) && (empty($errors['a'][0]) == true)):?> 

,我同意,代码缩进被高估的。 – DaveRandom 2012-07-27 15:29:12

+0

你双闭输入标签'/> />' – Florent 2012-07-27 15:29:43

+0

抱歉,这只是一个错字。 – bonny 2012-07-27 15:32:46

回答

0

对我来说,似乎有逻辑误解。

如果你想显示当时两个错误 - 与此

<?php if (isset($errors['b'])):?> 
+0

你好,我很抱歉,这不是问题,因为你看到我提到的问题属于输入类错误(!)而不是额外的错误div。 。我有两个用户错误实例,第一个是输入字段中的一个小错误图像 - 我的问题的主题是什么,第二个实例将是用户强制纠正的div层中的用户信息第一个输入和第二个输入,所以问题只是输入类的错误,谢谢。 – bonny 2012-07-27 16:32:59