2014-05-25 2 views
-1

빈 필드를 제출하면 여전히 데이터베이스에 추가됩니다. 모든 것이 제자리에 있는지 확인하기 위해 루프를 만들었지 만 오류 페이지로 리디렉션합니다. 나는 거의 2 시간 동안 고민하고 있었지만 해결책을 찾지 못했다. 링크 i가 2 개 이상을 게시 할 수 있기 때문에 here 같습니다등록 양식 유효성 검사 오류

답변

0

시도가

테이블의 열 속성에 널 (null)에게

를하지 않도록 설정할 수 있습니다. 테이블 디자인 또는 데이터베이스의 테이블 디자인 편집 중에 수행 할 수 있습니다. 희망이 도움이됩니다.

0

empty()를 사용하고 있습니다. http://us3.php.net/empty NULL, FALSE 또는 존재하지 않는 경우에만 false를 반환하고 빈 문자열은 반환하지 않습니다.

당신은이 일을해야합니다

foreach($required as $post){ 
    if ($_POST[$post] == "") { 
     die(header("refresh:0.5;url=error.php")); 
    } 
} 

는 그러나, 나는 그것이 단지 형태의 제출에 실행됩니다, 그래서 당신은 단지 전체 코드 블록을 통해이 문제를 넣지 않는 이유를 알고하지 않습니다. 그런 다음 계속 다시 확인하지 않아도됩니다.

if (isset($_POST)) { //or a specific $_POST variable if multiple submit paths 
    //code here 
} 

또한, 당신은 문제 또는 향후 관련 코드를 포함하도록 질문을 수정해야 수색자는 페이스트 빈 링크가 더 이상 작동 발견되지 않을 수 있습니다.

-1

내가

if(isset($_POST['field1']) && !$_POST['field1'] =="") 
{ 
//your codes goes here 

} 

어쩌면 당신은 그렇다면

<input type=text name=name1 value ="" /> 

같은 짓을 한을 yor이 같은 뭔가를 찾고 생각, 같은

<input type=text name=name1 /> 

이 뜻을 그렇게하세요 귀하의 페이지에 name1을 보내지 마십시오.

+0

그것은에 대한 _value 아니다 _ 속성을 가지고 있지만 그는 ** $ _ POST ** 배열에 _undefined _ 인덱스를 얻으려고합니다. 그래서 빈 데이터에 대한 그의 테스트는 그에게 항상 사실을 제공하고 그가 값으로 폼에 넣은 것이 무엇이든 error.php 페이지로 리디렉션하는 이유입니다. –

0

난 당신이 jQuery를 기능처럼 빈 필드에 일부 클라이언트 측 유효성 검사를해야 어떤 방법으로 생각 :

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(function(){ 
     $("form").submit(function(){ 
      if($("#first_name").val() == ''){ 
       alert("First name cann't be empty"); 
       return false; 
      }else if($("#last_name").val() == ''){ 
       alert("Last name cann't be empty"); 
       return false; 
      }else if($("#email").val() == ''){ 
       alert("Email cann't be empty"); 
       return false; 
      }else if($("#password").val() == ''){ 
       alert("Password name cann't be empty"); 
       return false; 
      }    
     }); 
    });     
</script> 
0

가 존재하지 않는 $ _POST 배열에 인덱스를 얻기 위해 노력하고, 그래서 당신의 $가 배열을 필요한 수정하고 process.php 단지 같은 변수 이름을 필드 이름을하지 넣어 :

$required = array('first_name','last_name','password','email'); 
foreach($required as $post){ 
    if($post = empty($_POST[$post]) || $_POST[$post] == ""){ 
     die(header("refresh:0.5;url=error.php")); 
    } elseif($required != empty($_POST)) { 
     echo ""; 
    } 
}