2017-09-17 113 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

你的问题是关于这个条件,如果($密码=== $ cpassword){',不工作,对不对?它做什么,抛出一个错误,永远不匹配,总是匹配,其他? – chris85

回答

-1

我不知道理解你的问题,其实你的代码似乎(在粗暴的方式)来实现自己的目标。但是,由于您已经向客户端发送了信息,因此您的脚本在使用header()重定向到login.php时将失败。当您在用于显示表单域的同一脚本中处理数据时会发生这种情况。我建议您将表单的数据发送到另一个脚本。

+0

我不明白你在做什么。 – helloworld999

+0

注意:未定义索引: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-c​​an- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/17360707) –