2009-10-26 3 views
5

내 소개에 대한 새로운 내용은 내 무지를 용서합니다. 내 양식에 "비밀번호 확인"필드를 추가하는 방법을 알아 내려고 노력 중입니다. PHP와 MySQL 사용하기. 이것은 html 양식 코드에 입력 되었습니까? 그리고 암호 및 확인 필드가 일치하는지 자동 확인하도록 설정할 수 있습니다.비밀번호 확인?

+2

이것은 MySQL과 어떤 관련이 있습니까? DB에 암호 필드를 모두 저장하고 일치하도록 제약 조건을 지정 하시겠습니까? 그렇다면 UI에서이 제약 조건을 적용하는 최선의 방법은 아닐 것입니다 ... – dcrosta

답변

16

그냥 평등을위한 PHP 및 테스트를 제출 암호를 모두 얻을 형태로 암호 필드를 확인 :

if ($_POST["password"] === $_POST["confirm_password"]) { 
    // success! 
} 
else { 
    // failed :(
} 

passwordconfirm_password는 암호에 대한 HTML 텍스트 입력의 ID가 있습니다.

1

프레임 워크를 사용하고 있습니까? 그렇지 않으면 두 필드가 설정되어 있는지 확인한 후 $ confirmationPassword == $ passWord를 확인하는 것만 큼 간단해야합니다. 그런 다음 필요한 모든 유효성 검증을 SQL에 저장하기 전에 암호에 적용하십시오.

4

당신이하려는 것은 양식 유효성 검사입니다. 클라이언트 측 (자바 스크립트 사용)에서 유효성을 검사하여 인터페이스와 서버 측에서 사용자의 빠른 응답을 얻을 수 있습니다 (사용자가 자바 스크립트를 사용할 수 없기 때문에 - 은 맹목적으로 신뢰하지 마십시오) 이 주제에 대한 자세한 내용은 Should you do validation on your server side을 읽어보십시오.

게시 된 두 값을 비교하면됩니다. 올 Y 르면 데이터베이스에 삽입하십시오. 그렇지 않다면 아무 것도하지 말고 사용자에게 암호가 틀렸다는 메시지를 보냅니다.

php 환경 (사용 된 프레임 워크, 사용 된 libs 등)에 대한 충분하거나 상세한 정보를 제공하지 않아서 더 자세한 정보를 제공 할 수 없습니다.

+1

"및 서버 측 (사용자가 자바 스크립트를 비활성화 할 수 있기 때문에)" - 이것이 서버 측 유효성 검사를 사용하는 이유는 아닙니다. – strager

+2

어, 그렇습니다. 클라이언트 측 유효성 검사는 유용하지만 서버 측 유효성 검사를 통해 클라이언트 측의 문제를 파악할 수 있습니다. – ceejayoz

+1

"javasctip 유효성 검사를 작성할 수없는 이유는 무엇입니까?"와 같이 가정하면 서버 측에서 유효성을 검사하여 해당 작업을 수행 할 필요가 있음을 기억합니다. 간단한 대답으로 보안에 관한 모든 정보를 제공 할 수는 없습니다. – GmonC

2

당신은 당신은 $ _POST를 사용해야

<html><title></title><head> 
<script> 
     function validate(){ 

    if(!document.getElementById("password").value==document.getElementById("confirm_password").value)alert("Passwords do no match"); 
    return document.getElementById("password").value==document.getElementById("confirm_password").value; 
    return false; 
    } 
    </script> 
</head> 
<body> 
    <form onSubmit="return validate()" action="nextPage.php"> 
    Password: <input type="text" id="password" name="password" /><br/> 
    Reenter Password: <input type="text" id="confirm_password" name="confirm_password" /> 
    <input type="submit" value="submit"/> 
    </form> 
</body> 
</html> 

와 단절 측에서 당신은 자바 스크립트를 사용하지 않는 경우 클라이언트에서 다시 확인해야 사용하여 자바 스크립트에

if($_GET['password']==$_GET['confirm_password']) 

그것을 확인하실 수 있습니다 POST 메서드의 경우 $ _GET 대신

+0

암호와 관련하여 GET을 사용 하시겠습니까? POST와 같은 것 같습니다 ... – Dscoduc

+0

당신은 암호를 위해 우리는 POST 메서드를 사용해야합니다 .. 난 그냥 예를 들어, 그냥 기본 양식 제출 유효성 검사와 함께 두 가지 방법을 사용하여 :) – Xinus

2

코드를 업데이트했습니다. 양식 제출시 콜론이 누락되었습니다.

<html> 
    <title></title> 
    <head> 
    <script> 
     function validate(){ 

      var a = document.getElementById("password").value; 
      var b = document.getElementById("confirm_password").value; 
      if (a!=b) { 
       alert("Passwords do no match"); 
       return false; 
      } 
     } 
    </script> 
    </head> 
    <body> 
     <form onSubmit="return validate();" "> 
     Password: <input type="text" id="password" name="password" /><br/> 
     Re-enter Password: <input type="text" id="confirm_password" name="confirm_password" /> 
     <input type="submit" value="submit"/> 
     </form> 
    </body> 
</html> 
관련 문제