Php 确认注册表中的密码

Php 确认注册表中的密码,php,passwords,registration,password-protection,Php,Passwords,Registration,Password Protection,我有一个注册表,其中有一个密码字段和一个确认密码字段。我希望密码和确认密码字段是相同的,以便它可以注册新用户的信息 表格: 请登录 密码 确认密码 登记 需要一次'connect.php'; 如果(isset($_POST['reg']){ //$dob=$_POST['date']; $dob=日期('Y-m-d',标准时间($_POST['date']); $Student\u ID=$\u POST['Student\u ID']; $gender=$_POST['gender']; $

我有一个注册表,其中有一个密码字段和一个确认密码字段。我希望密码和确认密码字段是相同的,以便它可以注册新用户的信息

表格:


请登录
密码
确认密码
登记
需要一次'connect.php';
如果(isset($_POST['reg']){
//$dob=$_POST['date'];
$dob=日期('Y-m-d',标准时间($_POST['date']);
$Student\u ID=$\u POST['Student\u ID'];
$gender=$_POST['gender'];
$course=$_POST['course'];
$email=$_POST['inputEmail'];
$password=$\u POST['inputPassword'];
$cpassword=$_POST['cpassword'];
$FN=$_POST['FirstName'];
$SN=$_POST['SecondName'];
如果($password===$cpassword){
//成功!
$sql=“在tblaccounts(电子邮件、密码、学生ID、名字、第二名、课程、性别、DoB)值中插入(“$Email.”、“$Password.”、“$Student\u ID.”、“$FN.”、“$SN.”、“$Course.”、“$Gender.”、“$DoB.”);
$result=mysqli_query($connection,$sql)或die(“数据库连接失败”。mysqli_错误($connection));
//$count=mysqli\u num\u行($result);
echo“注册成功!:”;
标题('Location:login.php');
}
否则{
//失败:(
}
}否则{
echo“注册失败!”:“#

?>
我不确定是否理解您的问题,事实上,您的代码似乎(以一种粗糙的方式)达到了您的目标。但是,在使用header()重定向到login.php时,您的脚本将失败,因为您已经向客户端发送了信息。当您在用于显示表单字段的同一脚本中处理数据时,会发生这种情况。我建议您将表单的数据发送到另一个脚本。

此代码会发生什么情况?您会接受SQL注入,参数化。您还需要散列密码,而不是存储纯text passwords.@chris85我正试图让表单按我的要求运行。然后我将处理安全性等问题。你的问题是关于这个条件,
if($password==$cpassword){
,不工作,对吗?它做什么,抛出一个错误,从不匹配,总是匹配,其他?你有任何错误吗?我想代码是好的,
我不明白你在说什么。注意:未定义的索引:CPasswordThis不鼓励在这里参与。我不需要在这里提出问题,因为我习惯于得到我想要的我在搜索中寻找答案,我无法发表评论。顺便说一句……删除答案是对的,如果他还没有发送表单,标题将是他最后的问题。
  <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
                    }