2017-03-16 4 views
0

Ich versuche, Daten aus dem Registrierungsformular in die Datenbank einzufügen, aber wenn ich auf Register klicken, sehe ich nichts in meiner Datenbank.Verbinden und Einfügen in PHP-Datenbank

Ich muss das wirklich beheben, damit ich in meine Datenbank einfügen kann. Ich kann nicht wirklich herausfinden, woher das Problem kommt. Vielen Dank für Ihren Beitrag.

Das ist mein Code, der mir hilft. Bitte hilf mir.

<?php 

    session_start(); 

    $server = 'localhost'; 
    $users = 'root'; 
    $pass = ''; 
    $dataBase = 'accounts'; 

    $_SESSION['message'] = ''; 

    $mysqli = new mysqli($server, $users, $pass, $dataBase) or die("Not connected"); 

    if($mysqli){ 

     echo 'Connected Successfully'; 
    } 

    if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 


     //The two passwords are equal to each other 
     if($_POST['Password'] == $_POST['ConfirmPassword']){ 

      $username = $mysqli->real_escape_string($_POST["username"]); 
      $email = $mysqli->real_escape_string($_POST['email']); 
      $password = md5($_POST['Password']); //hash password security 
      $phone = $mysqli->real_escape_string($_POST['Number']); 


      $_SESSION['username'] = $username; 

      $sql = "INSERT INTO user (username, email, password, phone) VALUES ('$username','$email','$password','$phone')"; 

      //if the query is correct, then redirect to a welcome.php page. done! 
      if($mysqli->query($sql) === true){ 

       $_SESSION['message'] = "Registration successful! $username is now a member"; 
       header("location: login.php"); 

       echo 'Successfully Registered!'; 

      } 
      else{ 
       $_SESSION['message'] == "Sorry you are not registered, check your field"; 

       } 

      } 

      else{ 
       $_SESSION['message'] == "Passwords do not match!"; 
      } 
     } 
?> 




<body class="bg agileinfo"> 
    <h1 class="agile_head text-center" style="color:#000"> Welcome</h1> 
    <div class="w3layouts_main wrap"> 
    <!--Horizontal Tab--> 
     <div id="parentHorizontalTab_agile"> 
      <ul class="resp-tabs-list hor_1"> 
      <!-- <li>LogIn</li> --> 
       <li>SignUp</li> 
      </ul> 


      <div class="agile_its_registration"> 
        <form action="#" method="post" class="agile_form"> 
         <div class="alert alert-error"><?=$_SESSION['message'] ?></div> 
         <p>Username</p> 
         <input type="text" name="username" required="required" /> 
         <p>Email</p> 
         <input type="email" name="email" required="required" /> 
         <p>Phone Number</p> 
         <input type="text" name="Number" required="required" /> 
         <p>Password</p> 
         <input type="password" name="Password" required="required" id="Password"> 
         <p>Confirm Password</p> 
         <input type="password" name="ConfirmPassword" required="required" id="ConfirmPassword"> 
         <div class="check w3_agileits"> 
          <label class="checkbox w3"><input type="checkbox" name="checkbox" required="required" ><i> </i>I accept the terms and conditions</label> 
         </div> 
         <input type="submit" value="Signup"/> 
         <input type="reset" value="Reset" /> 
        </form> 
       </div> 
      </div> 
     </div> 

</body> 
+0

Sie sagen, Sie in Ihrer Datenbank sehen nicht nichts, aber was ist der Wert von SESSION [Nachricht], nachdem die SQL Ausführen? – Bango

+0

Do a - printf ("Fehlermeldung:% s \ n", $ mysqli-> Fehler); nach Ihrem $ sql –

Antwort

0

Namen geben Taste einreichen einreichen und verwenden

if (isset($_POST['submit'])){ 
} 

insted

if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 
} 
0

kann ein Fehler sein, da in der SQL-Abfrage ist, Echo nur die $sql und führen die Ausgabe in Ihre phpmyadmin.

Beispiel:

$sql = "INSERT INTO user (username, email, password, phone)  VALUES ('$username','$email','$password','$phone')"; 
echo $sql; 
exit(); 

dann wird der Ausgang in phpmyadmin laufen.

0

Sie können auch php_self in Ihrer Aktion sind:

<?php echo $_SERVER['PHP_SELF']; ?> 

und machen Sie Ihre SQL-Abfrage ändert

$sql = "INSERT INTO user (username, email, password, phone) VALUES ('".$username."','".$email."','".$password."','".$phone."')"; 

hoffe, das hilft !!!

0

sind die Variablen wie String so versuchen, diese behandelt:

$sql = "INSERT INTO user (username, email, password, phone)  VALUES ('".$username."','".$email."','".$password."','".$phone."')"; 
Verwandte Themen