2016-09-04 4 views
0

이 코드를 사용하여 양식의 유효성을 검사하고 제출하는 것이 올바르지 않은 이유는 무엇입니까?양식 유효성 검사 및 제출

제 생각에는 양식 (이름 및 전자 메일)에서 얻은 데이터를 1f_ok.php 파일로 보내 데이터를 데이터베이스에 저장해야합니다.

<form id="new_item_post" class="fm" method="post" action="<? $_SERVER['PHP_SELF']; ?>" 
     enctype="multipart/form-data" name="procedim" 
     onSubmit="MM_validateForm('nombre','mailcontacto');return document.MM_returnValue" 
     ondblclick="Submit_seguro(this)"> 

<?php 
    if ($response != null && $response->success) { 
    echo "<script>alert('Submitted form'); location.href='1f_ok.php'</script>"; 
    } else { 
?> 
+1

여기서 \ how는'$ response'와'$ response-> success'를 정의한 것입니까? – nogad

답변

1

클라이언트 측 (자바 스크립트) 형태의 검증은 사용자 경험 (UX)을 개선의 이익을 위해 단지이다 처리합니다. 이것은 서버 측 (PHP) 유효성 검사를 대체하지 않습니다. 모두이 필요하지만 다른 용도로 사용됩니다.

자바 스크립트는 확실히 최종 사용자의 형태 더 나은를 제출하는 경험을해야하지만, 서버 측 오류를 방지 의 과정을하지 않습니다 더 나은, 아무도 당신의 자바 스크립트를 실행하는 데 필요하지 않기 때문에 서버에 HTTP 요청을 보내려면

예를 들어 PHP가 사용자에게 유효한 전자 메일 주소와 최소 8 자 이상의 암호를 제공한다고 가정 해 보겠습니다. javascript를 사용하여 요청이 서버에 전송되는 것을 방지하고 이러한 요구 사항을 충족시키지 못했기 때문에 브라우저에 몇 가지 추가 정보를 제공하여 사용자에게이 실패를 알리면 최종 사용자에게 더 나은 서비스 만 제공됩니다. 그렇지 않으면, 대안은 요청이 서버에 도달하기 전에 먼저 서버에 도착해야하고, 실패하면 사용자에게 실패를 알리는 책임이 서버에 있습니다.

경우에 따라 다루기 힘들어집니다. 예를 들어 사용자가 대용량 파일을 업로드하는 경우를 예로 들어 보겠습니다. 서버에서 파일 크기가 특정 크기 (100MB라고 가정)를 초과하지 않도록 요구하는 경우 자바 스크립트를 사용하여 최종 사용자에게이 파일이 너무 크다는 것을 알릴 수 있습니다. 전에 전에 서버에 보내려고합니다. 즉, 사용자가 업로드가 완료 될 때까지 기다리지 않아도 서버가 받아 들일 수 없다는 사실을 알 수 있습니다.

이것은 서버가 크기의 유효성을 확인할 필요가 없음을 의미하지 않습니다. 응용 프로그램/시스템 오류를 방지하고 필요한 응용 프로그램/시스템 제약 조건을 적용하려면 동일한 유효성 검사를 수행해야합니다.

-1

저는 JavaScript를 처음 사용하기 때문에 잠시 동안 PHP를 사용 해왔고 폼 유효성 검사에 JavaScript를 사용하는 것은 나쁜 습관이라고 말하고 싶습니다. 양식 유효성 검사에 항상 서버 측 언어를 사용하는 것이 좋습니다. PHP 또는 Python으로. 따라서 자신 만의 성공/오류 메시지를 작성하거나 경고 상자를 계속 사용할 수는 있지만 사용자 입력을 검증하고 데이터를 제출할 때는 항상 서버 측 언어에 의존하십시오!

+0

이전의 (지금 삭제 된 답변)에서 언급했듯이 "폼 유효성 검사를 위해 JavaScript를 사용하는 것은 나쁜 습관입니다."와 같은 블랭킷 문구는 헛소리입니다. 서버 측 유효성 검사에 대한 올바른 내용이지만 클라이언트 측 유효성 검사가 나쁜 습관임을 의미하지는 않습니다. – PeeHaa

관련 문제