2016-11-23 194 views
0

我想就如何解决为什么用户信息没有插入数据库的帮助。我没有得到打印到屏幕的任何错误,当我进入信息的,是不是已经在数据库中的用户“打”相呼应,因此它达到的代码块,只是没有插入到数据库中。PHP MySQL的插入到工作不因某种原因

当我回应$查询我输入的值时,我收到了INSERT INTO用户(名字,姓氏,电子邮件,密码)VALUES('tanya','long','[email protected]','purple03')无出现时,我呼应$结果谢谢

<?php 
    session_start(); 
    require_once("/includes/registerFunctions.php"); 
    require("/includes/databaseConnection.php"); 
    ?> 
<?php 
$name_message = ""; 
$password_message = ""; 
$email_message = ""; 
$missingInfo = "<div class='message'> Please fix the following errors: ". "<br>"."<ul>"; 
$numOfErrors = 0; 
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST) && isset($_POST['submit'])) 
{ 

    $first_name = mysqli_real_escape_string($connect, $_POST['fname']); 
    $last_name = mysqli_real_escape_string($connect, $_POST['lname']); 
    $email = mysqli_real_escape_string($connect,$_POST['email']); 
    $password = mysqli_real_escape_string($connect, $_POST['password']); 
    $confirm_password = mysqli_real_escape_string($connect, $_POST['cpassword']); 
    $content = array($first_name, $last_name, $email, $password, $confirm_password); 
    $contentMessage = array("First name", "Last name", "email", "password", "confirmation password"); 
    $length = count($content); 
    if(!equalPasswords($password, $confirm_password)) 
    { 
     $missingInfo .= "<li> Passwords do not match </li>"; 
     $numOfErrors++; 
    } 
    if(!valid_email($email)) 
    { 
     $missingInfo .= "<li>The entered email is invalid. </li>"; 
     $numOfErrors++; 

    } 
    $min = 8; 
    if(strlen($password) < $min || strlen($confirm_password) < $min) 
    { 
     $missingInfo .= "<li>Please choose a password that is at least ". $min ." characters long </li>"; 
     $numOfErrors++; 
    } 


    for($i = 0; $i < $length; $i++) 
    { 
     if(!has_presence($content[$i])) 
     { 
      $missingInfo .= "<li>". ucfirst($contentMessage[$i])." is blank "."<br> </li>"; 
      $numOfErrors++; 
     } 

    } 
    $missingInfo .= "</ul></div>"; 


    if($numOfErrors > 0) 
    { 
     echo $missingInfo; 
    } 
    $emailQuery = "SELECT email FROM users WHERE email = '$email'"; 
    $emailResult = mysqli_query($connect, $emailQuery); 
    $numOfRows = mysqli_num_rows($emailResult); 
    if($numOfErrors == 0 && $numOfRows == 0) 
    { 
     /* Check if the email is already in use*/ 
     echo "Hit"; 

     $query = "INSERT INTO users ("; 
     $query .= " first_name, last_name, email, password"; 
     $query .= ") VALUES ("; 
     $query .= " '{$first_name}', '{$last_name}', '{$email}', '{$password}'"; 
     $query .= ")"; 
     $result = mysqli_query($connect, $query); 
     if($result) 
     { 
      $_SESSION['fname'] = $first_name; 
      $_SESSION['lname'] = $last_name; 


     } 

     //$userId = $_SESSION['id']; 
    } 
    else if($numOfRows >= 1) 
    { 
     echo "The email entered is already in use, please : ". "<a href='index.php'>login</a>"; 
    } 




} 

?> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title> Register</title> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="register.css"> 
    <link href="https://fonts.googleapis.com/css?family=Amatic+SC" rel="stylesheet"> 
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css"> 
    <style type="text/css"> 
     form{ 
      padding-top: 20px; 
      text-align: center; 
     } 
     .message 
     { 
      position: absolute; 
      right: 180px; 
      top: 60px; 
      width: 220px; 
     } 
     input { 
      border: 0; 
      outline: 0; 
      background: transparent; 
      border-bottom: 1px solid grey; 
      width: 250px; 
     } 
     div 
     { 
      padding: 10px; 
     } 
     a 
     { 
      color: #4169E1; 
     } 
     a:hover{ 
      color:grey; 
     } 

    </style> 
</head> 
<body> 

    <form id="form" method="POST" action="register.php"> 
     <h3 style="font-family:'Amatic SC', cursive; font-size: 20px;"> Welcome to Caruize </h3> 

     <div > 

      <input type="text" name="fname" id="fname" placeholder="First Name" autocomplete="off"> 
     </div> 

     <div > 

      <input type="text" name="lname" id="lname" placeholder="Last Name" autocomplete="off" required> 
     </div> 

     <div > 
      <input type="email" name="email" id="email" placeholder="Email Address" autocomplete="off" required> 
     </div> 

     <div> 

      <input type="password" name="password" id="password" placeholder="Password" autocomplete="off" required> 

     </div> 

     <div> 

      <input type="password" name="cpassword" id="cpassword" placeholder="Confirm Password" autocomplete="off" required> 

     </div> 

     <div> 
      <button type="submit" name="submit" class="pure-button pure-button-primary"> Register</button> <br> <br> 
      <p> Already a member? </p><a style="text-decoration: none;" href="index.php">Sign in </a> 
     </div> 

    </form> 
    <script type="text/javascript"> 
     var pLabel = document.getElementById("passwordLabel"); 
     pLabel.textContent = "Too Short"; 
    </script> 
</body> 
</html> 
+0

呼应你的完整的查询,并从MySQL吡嗪酰胺或接口运行它,并检查错误有 –

+0

呼应你的$查询之前的mysql_query()语句,并在其中放置疑问,输出。 – RJParikh

+0

你能回应$ result = mysqli_query($ connect,$ query);? – Ronald

回答

0

哈哈,我只是插入到表单所需的数据库的值。有大约5个其他字段,我设置为NOT NULL,我没有插入哈哈。谢谢你们。