2014-06-17 3 views
-1

등록 양식을 만들려고하는데 문제가있을 수 있습니다.

오류 :
공지 사항 : 정의되지 않은 인덱스 : 사용자 이름에 ...
공지 사항 : 정의되지 않은 인덱스 : 암호 ...

<form method="POST"> 
     <?php 
      if(isset($_POST['submit'])) { 
       $username = $_POST['username']; 
       $password = md5($_POST['password']); 

       if(empty($username) or empty($password)) { 
        echo "<p>Fields are empty!</p>"; 
       } else { 
        mysql_query("INSERT INTO users VALUES('', '$username', '$password', '2', '')"); 
        echo "<p>Registration successful!</p>"; 
       } 
      } 
     ?> 
     <p><label for="username">Username: </label><input type="text" id="username" /></p> 
     <p><label for="password">Password: </label><input type="password" id="password" /></p> 
     <input type="submit" name="submit" value="Sign up"> 
    </form> 

감사합니다!

+5

단순 : 양식 요소의 이름이 지정되지 않았습니다. 또한 MD5를 사용하지 마십시오. 이전 버전이므로 깨진 것으로 간주됩니다. –

+3

코드가 SQL 삽입에 취약합니다. [PHP로 방지하는 방법] (http://stackoverflow.com/q/60174/53114)을 읽어야합니다. – Gumbo

+1

청각 장애인의 귀에 댓글 (들)이 다시 표시됩니다. 좋은 결과 내길 바랄 게; 너는 필요할지도 모른다. –

답변

2

당신은 당신의 입력의 이름을 넣어해야합니다

<label for="username">Username: </label><input type="text" name="username" id="username" /> 
<label for="password">Password: </label><input type="password" name="password" id="password" /> 

문제가 수정해야한다고!

+0

예, 이름을 잊어 버렸습니다. 감사! – yakovlevyuri

+0

실제로 @Fred -ii-는 점수를받을 자격이 있지만, 그가 필요로하는 것은 시원합니다. –

+0

프레드가 게시 한 것으로 추측하는 동안 답변을 게시했습니다. 그러나 그것은 많은 사람들이 그것을 알고 있다고 확신 할 수 있도록 간단한 수정이었습니다. –

관련 문제