2017-09-07 1 views
1

Ich versuche, HTML-Formulardaten in die Datenbank über PHP einzufügen. Ich kann HTML-Formulardaten nicht in die Datenbank einfügen, ich weiß nicht, was ich in meinem Code falsch mache?Ich versuche, HTML-Formular-Daten in der Datenbank über PHP einzufügen, aber es passiert nicht

meinen Code Hier ist:

<?php 
$host = 'localhost'; 
$username = 'root'; 
$password = ''; 
$dbname = 'mydb'; 
$con=mysqli_connect($host, $username, $password,$dbname); 
if (!$con) 
{ 
    echo "connection failed"; 
} 

if(isset($_POST['submit'])) 
{ 
$name = $_POST['username']; 
$pass = $_POST['password']; 
$sql="insert into mytable1 (name,password) VALUES ('$name', '$pass')"; 
    if(mysqli_query($con,$sql)) 
    { 
     echo "DATA IS INSERTED INTO DATABASE"; 
    } 
} 
?> 
<!DOCTYPE HTML> 
<html> 
    <head> 
     <title>SignUpform.com</title> 

    </head> 
    <body> 

     <div id="div1"> 
      <div id="div2"> 
       <h1>Sign up Form</h1> 
      </div> 
      <form action="" method="post"> 
      <fieldset> 
       <legend>Signup form ceredentials</legend> 
       <p id="p1">Name:</p>  
       <input id="text1" type="text" placeholder="Enter username" name="username"> 
       <p id="p2">Password:</p> 
       <input id="pass1" type="password" placeholder="Enter Password" name="password"> 
       <p id="email">Email:</p> 
       <input id="emailtextfld" type="text" placeholder="Enter Email" name="email"> 
       <p id="company">Company Name:</p> 
       <input id="companytextfld" type="text" placeholder="Company name" name="company"> 
       <input id="donebtn" type="submit" value="submit" name="submit"> 

      </fieldset> 
      </form> 
     </div> 
    </body> 
</html> 

Und hier ist meine Datenbank enter image description here

Die Struktur meiner Datenbanktabelle: enter image description here

+1

Erhalten Sie "DATEN WIRD IN DATABASE EINGESETZT"? Sie sind offen für SQL-Injections, parametrisieren Sie Ihre Abfragen. Ihre Passwörter sollten gehashed werden. – chris85

+0

nein ich bekomme diese Meldung nicht "Daten werden in die Datenbank eingefügt" @ chris85 – Mcolo

+0

Was passiert also, nichts wird angezeigt? Kannst du 'else' auf deine Bedingung setzen, um zu sehen, ob beide fehlschlagen? – chris85

Antwort

2

Sie sollten von Ihrer Speicher-Engine Ihrer Datenbank ändern:

ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8mb4;

zu

ENGINE=innoDB DEFAULT CHARSET=utf8; 

Aus meiner Sicht ist es passiert nur wegen des „Motorfehler“ .So nach dem Wechsel Ihre Speicher-Engine Ihrer Datenbank, ich hoffe, es wird für Sie funktionieren inshallah.

+0

Nach dem Ändern der Speicher-Engine meiner Datenbank, es funktioniert jetzt gut und das Problem der Einfügung von Daten in der Datenbank ist jetzt gelöst. @ Shahab Khan – Mcolo

1

Sie müssen Form Aktion geben wie diese

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post"> 

fügen Sie diese Verbindung

if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
+0

Ich habe dieses ''. aber es fügt immer noch keine Daten in die Datenbank @Shibon – Mcolo

+0

Nach dem Setzen dieser {Echo "erreicht"; } drinnen, wenn blockiert es sagt "erreicht" @Shibon – Mcolo

+2

'Aktion' ist nicht erforderlich. – chris85

2
if(isset($_POST['submit'])) 
{ 
$name = $_POST['username']; 
$pass = $_POST['password']; 
$sql="insert into mytable1 (name,password) VALUES ('$name', '$pass')"; 

$query = mysqli_query($con, $sql); 
if($query) 
{ 
echo "<h4 style='color:green'>Inserted Successfully.</h4>"; 
    } 
    else 
    { 
     echo "<h4 style='color:red'>Faild.</h4>"; 
    } 
} 
?> 

Versuchen Sie, diese Lösung zu prüfen.

+0

Ich habe das versucht, aber es sagt "gescheitert" @Prakhar Sood – Mcolo

+0

So ist etwas falsch mit Ihrer einfügen Abfrage. Versuchen Sie, die Werte von Benutzername und Passwort zu wiederholen, überprüfen Sie, ob Sie die Werte sogar über das Formular erhalten oder nicht. –

+0

Ja, ich habe die Werte von Benutzername und Passwort Echo und es ist die Werte durch HTML-Formular erhalten @Prakhar Sood – Mcolo

Verwandte Themen