2016-11-23 4 views
0

Ich möchte Hilfe, wie zu beheben, warum die Benutzerinformationen nicht in die Datenbank einfügen. Es werden keine Fehler auf dem Bildschirm angezeigt und der "Treffer" wird wiederholt, wenn ich Informationen für einen Benutzer eingegeben habe, der noch nicht in der Datenbank vorhanden ist. Er erreicht diesen Codeblock und fügt ihn nicht in die Datenbank ein.PHP MySQL Insert funktioniert aus irgendeinem Grund nicht

Wenn ich $ query für die Werte, die ich eingegeben habe, wiederholte, erhielt ich INSERT INTO Benutzer (Vorname, Nachname, E-Mail, Passwort) VALUES ('tanya', 'lang', '[email protected]', 'purple03') Nichts erschien, als ich wiederholte $ Dank

<?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

echo Ihre vollständige Abfrage und führen Sie es von mysql Terminianl oder Schnittstelle und überprüfen Sie den Fehler dort –

+0

echo Ihre $ Abfrage vor mysql_query() -Anweisung und platzieren Sie diese Ausgabe in Frage. – RJParikh

+0

Können Sie echo $ result = mysqli_query ($ connect, $ query) ;? – Ronald

Antwort

0

Haha, ich war nur das Einfügen Werte in die Datenbank führen, die durch die Form erforderlich war. Es gab ungefähr 5 andere Felder, die ich auf NOT NULL setzte, die ich nicht in haha ​​einfügte. Danke euch allen.

Verwandte Themen