2012-07-27 90 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