2014-11-16 1 views
0

필자는이 코드를 사용하여 필수 필드가있는 배열을 만들고 목록에있는 필드를 반복합니다.PHP 배열을 사용하여 폼 유효성 검사

    //Required Fields 
       $validationFields = array(
        "username" => "", 
        "email" => "", 
        "password" => "" 
        ); 


       foreach ($_POST as $key => $value) 
       { 
        $asd = in_array($_POST[$key], $validationFields); 

        echo "<pre>"; 
        var_dump($asd); 
        echo "</pre>"; 

        if(in_array($_POST[$key], $validationFields)) 
        { 
         if($_POST[$key] == "") 
         { 
          $error = "has-error"; 
         } 
        } 

       } 
+0

array_intersect_keys가 실제로 문제가 무엇을 필요가 있겠습니까? in_array ($ value, $ validationFields) 외에도 검사하기에 충분합니다. – Riad

+0

$ _POST의 필드가 my $ validationFields 배열에 있는지 확인하고 싶다면 $ _POST 값이 비어 있는지 확인하십시오. $ _POST가 비어있는 방법을 알아내는 방법 만 필요합니다. –

답변

0

봅니다 array_intersect 살펴보고 또는 당신은

http://php.net/manual/en/function.array-intersect-key.php

+0

감사합니다. 수표가 필요합니다. 이제 $ _POST [$ key]가 비어 있는지보고 싶습니다. $ _POST [$ key] == ""작동하지 않습니다. –

+0

아마도'if (empty ($ _ POST [$ key]))'가 가장 좋습니다. – Nerixel

+0

나는'isset()'을 추가 할 것이다. 배열 인덱스가 전혀 설정되지 않은 경우 알림이 발생할 수 있습니다. –