2017-09-17 3 views
-1

나는 비밀번호 필드와 확인 비밀번호 필드가있는 등록 양식을 가지고 있습니다. 새 사용자 정보를 등록 할 수 있도록 암호 필드와 암호 필드를 동일하게 확인하고 싶습니다.등록 양식에 비밀번호 확인

형태 :

<form class="form-signin" name="Register_Form" method="post" action="regcheck.php"> 
    <h2 class="form-signin-heading">Please sign in</h2> 
    <label for="inputPassword" class="sr-only">Password</label> 
    <input type="password" id="inputPassword" name="inputPassword" class="form-control" placeholder="Password" required> 
    <label for="CPassword" class="sr-only">Confirm Password</label> 
    <input type="password" id="CPassword" name="CPassword" class="form-control" placeholder="Confirm Password" required> 

    <button class="btn btn-lg btn-primary btn-block" type="reg" name="reg" value="Register">Register</button> 
    </form> 

      require_once 'connect.php'; 
      if (isset($_POST['reg'])){ 
         //$dob = $_POST['date']; 
         $dob = date('Y-m-d', strtotime($_POST['date'])); 
         $Student_ID = $_POST['Student_ID']; 
         $gender = $_POST['gender']; 
         $course = $_POST['Course']; 
         $email = $_POST['inputEmail']; 
         $password = $_POST['inputPassword']; 
         $cpassword = $_POST['CPassword']; 
         $FN = $_POST['FirstName']; 
         $SN = $_POST['SecondName']; 

         if ($password === $cpassword) { 
          // success! 
          $sql = "INSERT INTO tblaccounts (Email, Password, Student_ID, FirstName, SecondName, Course, Gender, DoB) VALUES ('".$email."','".$password."','".$Student_ID."','".$FN."','".$SN."','".$course."','".$gender."','".$dob."')"; 
          $result = mysqli_query($connection, $sql) or die("Database Connection Failed" . mysqli_error($connection)); 
          //$count = mysqli_num_rows($result); 
          echo "Registeration Successful!:"; 

          header('Location: login.php'); 
          } 
          else { 
           // failed :(
          } 


      } else { 
         echo "Registeration Failed!:";# 
         ?><br/><a href ="login.php">Go back to the login screen.</a><?php 
        } 
+0

이 코드는 어떻게됩니까? 당신은 SQL 인젝션에 개방되어 있고, 매개 변수화되어 있습니다. 또한 암호를 해시해야하고 일반 텍스트 암호는 저장하지 않아야합니다. – chris85

+0

@ chris85 내가 원하는대로 할 수있는 양식을 얻으려고합니다. 그런 다음 보안과 같은 작업을 할 것입니다. – helloworld999

+0

당신의 질문은이 조건부에 관한 것입니다,'if ($ password === $ cpassword) {', not working, right? 그것은 무엇을합니까, 오류를 던지거나, 절대 일치시키지 않으며, 항상 일치 시키거나, 다른 것입니까? – chris85

답변

-1

나는 당신의 목표를 달성하기 위해 코드가 (원유 방법으로) 보인다 실제로 질문을 이해하기 모르겠어요. 그러나 이미 클라이언트에 정보를 보냈기 때문에 스크립트는 header()를 사용하여 login.php로 리디렉션 할 때 실패합니다. 이는 양식 필드를 표시하는 데 사용한 것과 동일한 스크립트로 데이터를 처리 할 때 발생합니다. 양식의 데이터를 다른 스크립트로 보내시기 바랍니다.

+0

나는 당신이 무슨 일을하는지 이해하지 못했습니다. – helloworld999

+0

Notice : 정의되지 않은 색인 : CPassword – helloworld999

+0

이것은 질문에 대한 답을 제공하지 않습니다. 충분한 [평판] (https://stackoverflow.com/help/whats-reputation)이 있으면 [모든 게시물에 주석 달기] (https://stackoverflow.com/help/privileges/comment) 할 수 있습니다. 대신, [질문자의 설명이 필요없는 답변을 제공하십시오] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do- 대신). - [검토 중] (검토 중/리뷰/저품목 게시물/17360707) –