用户注册模块将空白数据插入PHP数据库

用户注册模块将空白数据插入PHP数据库,php,html,mysql,Php,Html,Mysql,我目前正在制作一个用户注册页面。单击submit按钮并验证所有内容后,页面只需重新加载,信息仍在那里。当我检查我的phpmyadmin数据库时,添加了条目,字段中没有任何内容。有什么问题吗 这是我的register.php代码 <html lang="en"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">

我目前正在制作一个用户注册页面。单击submit按钮并验证所有内容后,页面只需重新加载,信息仍在那里。当我检查我的phpmyadmin数据库时,添加了条目,字段中没有任何内容。有什么问题吗

这是我的register.php代码

<html lang="en"><head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <!-- Bootstrap core CSS -->
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="signin.css" rel="stylesheet">

    <script type="text/javascript">
    function apply()
    {
      document.frm.sub.disabled=true;
      if(document.frm.chk.checked==true)
      {
        document.frm.sub.disabled=false;
      }
      if(document.frm.chk.checked==false)
      {
        document.frm.sub.enabled=false;
      }
    }
</script>
  </head>

  <body>
    <?php
    // define variables and set to empty values
    $lnameErr = $fnameErr = $emailErr = $pwdErr = $reentErr = "";
    $lname = $fname = $email = $pwd = $reent = "";



    if ($_SERVER["REQUEST_METHOD"] == "POST") 
    {
      $valid=true;

       if (empty($_POST["lname"])) {
         $lnameErr = "Please enter your last name";
         $valid=false;
       } else {
         $lname = test_input($_POST["lname"]);
       }

       if (empty($_POST["fname"])) {
         $fnameErr = "Please enter your first name";
         $valid=false;
       } else {
         $fname = test_input($_POST["fname"]);
       }

       if (empty($_POST["email"])) {
         $emailErr = "Please enter your email address";
         $valid=false;
       } else {
         $email = test_input($_POST["email"]);
       }

       if (empty($_POST["pwd"])) {
         $pwdErr = "Please enter your password";
         $valid=false;
       } else {
         $pwd = test_input($_POST["pwd"]);
       }

       if (empty($_POST["reent"])) {
         $reentErr = "Please re-enter your password";
         $valid=false;
       } else {
         $reent = test_input($_POST["reent"]);
       }

       if ($_POST['pwd']!= $_POST['reent'])
       {
        $reentErr = "Passwords do not match";
       }
       else {
       $reent = test_input($_POST["reent"]);
       }

    }

    function test_input($data) 
    {
       $data = trim($data);
       $data = stripslashes($data);
       $data = htmlspecialchars($data);
       return $data;
    }

    if (!empty($valid))
    {
       header('Location: registerinsert.php');
       exit();
    }
    ?>


    <div class="container" id="contain">
      <form role="form" name="frm" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
      <h1 style="font-weight:bold;">Registration</h1>
      <hr></br>

          <div class="form-group">
            <label for="" class="col-sm-4 control-label">Last Name<span class="error">*</span></label>
            <div class="col-sm-7">
              <input type="text" class="form-control" name="lname" id="" placeholder="Last Name"
              value="<?php if(isset($_POST['lname'])) { 
                echo htmlentities($_POST['lname']);  // always filter outputs of external data 
                } ?>"><span class="error"><?php echo $lnameErr;?></span>
            </div>
          </div>
          </br></br></br>
          <div class="form-group">
            <label for="" class="col-sm-4 control-label">First Name<span class="error">*</span></label>
            <div class="col-sm-7">
              <input type="text" class="form-control" name="fname" id="" placeholder="First Name"
              value="<?php if(isset($_POST['fname'])) { 
                echo htmlentities($_POST['fname']);  // always filter outputs of external data 
                } ?>"><span class="error"><?php echo $fnameErr;?></span>
            </div>
          </div>
          </br></br></br>
          <div class="form-group">
            <label for="" class="col-sm-4 control-label">Email Address<span class="error"> *</span></label>
            <div class="col-sm-7">
              <input type="text" class="form-control" name="email" id="" placeholder="Email Address"
              value="<?php if(isset($_POST['email'])) { 
                echo htmlentities($_POST['email']);  // always filter outputs of external data 
                } ?>"><span class="error"><?php echo $emailErr;?></span>
            </div>
          </div>
          </br></br></br>
          <div class="form-group">
            <label for="inputPassword3" class="col-sm-4 control-label">Password<span class="error"> *</span></label>
            <div class="col-sm-7">
              <input type="password" class="form-control" name="pwd" id="password1" placeholder="Password"
              value="<?php if(isset($_POST['pwd'])) { 
                echo htmlentities($_POST['pwd']);  // always filter outputs of external data 
                } ?>"><span class="error"><?php echo $pwdErr;?></span>
            </div>
          </div>
          </br></br></br>
          <div class="form-group">
            <label for="inputPassword3" class="col-sm-4 control-label">Re-enter Password<span class="error"> *</span></label>
            <div class="col-sm-7">
              <input type="password" class="form-control" name="reent" id="password2" placeholder="Re-enter Password"  onChange="checkPasswordMatch();"
              value="<?php if(isset($_POST['reent'])) { 
                echo htmlentities($_POST['reent']);  // always filter outputs of external data 
                } ?>"><span class="error"><?php echo $reentErr;?></span>
                <div class="registrationFormAlert" id="divCheckPasswordMatch">
                </div>
            </div>
          </div>

          <div class="checkbox">
              <label>
                <input type="checkbox" value="" id="checkbox" name="chk" onClick="apply()">
                I have read and accepted the 
                <a href="policies.php" target="_blank" style="text-decoration:none; font-weight: bold;">Terms and Conditions</a> and 
                <a href="privacy_policy.php" target="_blank" style="text-decoration:none; font-weight: bold;">Privacy Policy</a>.
              </label>
           </div>
            </br></br>
          <button type="submit" name="sub" value="submit" class="btn btn-default" disabled>Submit</button>
          <button type="reset" class="btn btn-default" value="Reset">Reset</button>
      </form> 
    </div>


    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>

</body>
</html>
这是我的registerinsert.php代码

<?php

$con=mysqli_connect("localhost","root","","mytreats");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$value=$_POST['lname'];
$value2=$_POST['fname'];
$value3=$_POST['email'];
$value4=$_POST['pwd'];



$sql="INSERT INTO user_info (lname, fname, email, pwd) 
VALUES ('$value', '$value2', '$value3', '$value4')";

if (!mysql_query($sql))
{
die('Error:' . mysql_error());
}

mysql_close();
?>
这里有错误吗?谢谢你的夸奖

> if (!empty($valid))
>     {
>        header('Location: registerinsert.php');
>        exit();
>     }
Header redirect不是post方法,因此您将丢失registerinsert.php页面中的所有post数据


请尝试将验证代码保留在registerinsert.php中,并将表单操作设置为registerinsert.php

编辑表单标记,如下所示

<form role="form" name="frm" action="registerinsert.php" method="post">
if (!mysqli_query($sql))
{
   die('Error:' . mysql_error());
}

您混合了mysql_*和mysqli_*函数。您没有将数据发送到registerinsert.php。我建议将registerinsert.php中的代码添加到register.php页面。它应该很好用。另外,如前所述,您的数据库正在混合mysql和mysqli。。。我建议只使用mysqli。