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

+0

입력 태그를 두 번 닫았습니다. '/> />' – Florent

+0

죄송합니다. 이것은 오타였습니다. – bonny

답변

0

나는 논리 오해가있는 것처럼 보입니다.

당신이 한 번에 모두 오류를 표시하려면

-이

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

안녕하세요, 죄송합니다, 이것은 문제가되지 않습니다. 내가 알기로 문제는 입력 클래스 오류 (!)가 아니라 여분의 오류 div에 속한다고 언급했듯이이 행은해야하는 것처럼 작동합니다. . 사용자에 대한 두 개의 오류 인스턴스가 있습니다. 첫 번째는 입력 필드에 작은 오류 이미지가 될 것입니다. 내 문제의 주제는 무엇입니까? 두 번째 인스턴스는 사용자가 수정해야하는 div 계층의 사용자 정보입니다. 첫 번째 입력 후 두 번째. 그래서 문제는 단지 입력 클래스 오류입니다. 감사합니다. – bonny