2016-12-23 2 views
0

Ich habe HTML-Registrierungsformular, wenn ich das Formular einreiche den PHP-Code erscheint und Daten nicht in die Datenbank einfügen, machte ich meine Datenbank mit phpMyAdmin, was soll ich tun?HTML-Formular, PHP Daten in die Datenbank einfügen funktioniert nicht?

Hier meine PHP-Code:

 <?php 
     $con=mysqli_connect('localhost','root',''); 
     $db=mysqli_select_db($con,'research_sys'); 
    if ($con) { 
     echo "good"; 
     }else { 
     die('error'); 
     } 
     if(isset($_POST['submit'])){ 
$Fname = mysqli_real_escape_string($con,$_POST["Fname"]); 
$Lname = mysqli_real_escape_string($con,$_POST["Lname"]); 
$email = mysqli_real_escape_string($con,$_POST['email']); 
$password = mysqli_real_escape_string($con,$_POST['password']); 
    $sql = mysqli_query($con,"INSERT INTO `research_sys`.`researcher` (Re_fname,Re_lname,Re_mobile,Re_password) values ('$Fname','$Lname','$email','$password ')"); 

      if (mysqli_query($sql)){ 
      echo "insert"; 
      } else { 
       echo "error" .$sql ."<br>". mysqli_error($con); 
       }   
} 
?> 

hier meine Registrierung HTML-Code

  <form method="post" action="connect.php"> 
       <legend class="center">Register </legend> 
       <br> 
       <div> 

        <input type="text" name="Fname" placeholder="First Name"/> 
       </div> 
       <div> 

        <input type="text" name="Lname" placeholder="Last Name"/> 
       </div> 

       <div> 
        <input type="text" name="email" placeholder="Email"/> 
       </div> 

       <div> 
        <input type="password" name="password" placeholder="Password"/> 
       </div> 

       <div> 
        <input type="password" name="con_password" placeholder="Password confirm"/> 
       </div> 
       <input type="submit" name="submit" value="submit"/> 
      </form> 

Antwort

1

Blick auf die folgenden:

$sql = mysqli_query($con,"INSERT INTO `research_sys`.`researcher` 
     ^^^^^^^^^^^^ function 

     (Re_fname,Re_lname,Re_mobile,Re_password) 
     values ('$Fname','$Lname','$email','$password ')"); 
                ^space 

    if (mysqli_query($sql)){ 
     ^^^^^^^^^^^^ function 

Sie verwenden, dass mysqli_query() Funktion zweimal, entfernen ein und tun Sie einfach:

if ($sql){...} 

und mysqli_error($con) sollten Sie einen Fehler darüber geworfen haben.

Wenn es keinen Fehler ausgelöst hat, dann könnte dies darauf hinweisen, dass Sie dies als file:/// im Gegensatz zu http://localhost verwenden.

Edit:

"i html Anmeldeformular haben whin i die Form der PHP-Code apears Eintragen"

Das ist wegen dem, was ich oben geschrieben habe, bevor Sie zitieren. Sie müssen dies von einem Webserver ausführen, auf dem php/mysql installiert ist und ordnungsgemäß ausgeführt wird und unter http://localhost.

Entfernen Sie auch den Platz in diesem '$password '. Dieser Raum zählt als ein Zeichen.

  • Überprüfen Sie auch Ihre Spaltennamen. Es scheint etwas zu geben, das nicht (Re_fname,Re_lname,Re_mobile,Re_password) der Re_mobile entspricht und Sie verweisen auf eine E-Mail '$email' in VALUES.

Sie scheinen auch Klartext Passwörter zu speichern; nicht, es ist nicht sicher, wenn Sie beabsichtigen, damit zu leben. Verwenden Sie password_hash() und eine vorbereitete Anweisung.


Fußnoten:

$con=mysqli_connect('localhost','root',''); 
    $db=mysqli_select_db($con,'research_sys'); 

Sie können, dass verkürzen mit allen vier Argumente in mysqli_connect():

$con=mysqli_connect('localhost','root', '', 'research_sys'); 
Verwandte Themen