2017-03-22 2 views
0

Das Problem, das ich habe: Ich habe ein "Kontakt" Formular, das Daten an meine Datenbank senden sollte. Alles funktioniert gut, keine Fehler, nachdem ich auf die Seite von localhost zugegriffen habe, zeigt das Ergebnis, das ich sehen wollte, aber die Datenbank (localhost/phpmyadmin/..) wird nicht mit irgendwelchen Informationen aktualisiert.mysql aktualisiert keine Informationen aus html/php

Das ist mein PHP:

if(isset($_POST['insert'])) 
{ 
    $hostname = 'localhost'; 
    $username = 'root'; 
    $password = ''; 
    $databaseName = 'nig'; 

$Nume = $_POST['nume']; 
$Email = $_POST['email']; 
$Telefon = $_POST['telefon']; 
$Subiect = $_POST['subiect']; 
$Mesaj = $_POST['mesaj']; 

$connect = mysqli_connect($hostname, $username, $password, $databaseName); 
$query = "INSERT INTO `amar` (`nume`, `email`, `telefon`, `subiect`, `mesaj`) VALUES ('$Nume','$Email','$Telefon','$Subiect','$Mesaj')"; 

$result = mysqli_query($connect,$query); 

if($result) 
{ 
    echo 'Mesaj trimis.'; 
}else{ 
    echo 'Mesaj netrimis'; 
} 

mysqli_free_result($result); 
mysqli_close($connect); 

Das ist mein HTML:

<form action="insert2.php" action="post"> 
    <form role="form"> 
     <div class="form-group"> 
     <label for="nume">Nume complet</label> 
     <input type="text" class="form-control" name="nume"> 
     </div> 
     <div class="form-group"> 
     <label for="email">Adresa e-mail</label> 
     <input type="text" class="form-control" name="email"> 
     </div> 
     <div class="form-group"> 
     <label for="telefon">Telefon</label> 
     <input type="text" class="form-control" name="telefon"> 
     </div> 
     <div class="form-group"> 
     <label for="subiect">Subiect</label> 
     <input type="text" class="form-control" name="subiect"> 
     </div> 
     <div class="form-group"> 
     <label for="mesaj">Mesaj</label> 
     <textarea class="form-control" name="mesaj" rows="8"></textarea> 
     </div> 
     <input type="submit" name="insert" class="btn btn-theme" value="insert"></button> 
    </form> 

Und das Ergebnis sollten die Daten in meiner MySQL sein. aber die Datenbank bekommt keine Daten, was mache ich falsch?

+1

??? Zweites Formular-Tag ??? '

' Entfernen Sie es – RiggsFolly

+0

Parametrisieren Sie Ihre Abfragen. Dies ist offen für SQL-Injektionen. – chris85

Antwort

0

Sie haben zwei Form-Tags, eines innerhalb des anderen.

Ändern Sie diese ....

<form action="insert2.php" action="post"> 
<form role="form"> 

Um dies zu ...

<form action="insert2.php" action="post"> 

Auch, bitte beachten Sie, Ihre PHP-Code ist eine SQL-Injection geöffnet. Vertraue niemals Benutzereingaben. Überprüfen Sie die eingegebenen Benutzerdaten immer, und/oder fliehen Sie sie, bevor Sie sie in einer Abfrage verwenden. Oder noch besser, verwendet prepared statements oder gespeicherte Prozeduren.

Update 1:

OK, sorry zu hören, das nicht funktioniert. Bitte fügen Sie die folgenden mysqli error debugging hinzu, damit wir sehen können, was passiert.

Ändern Sie diese ...

$result = mysqli_query($connect,$query); 

Um dies zu ...

if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$result = mysqli_query($connect,$query) 

if (!$result)) { 
    printf("Errormessage: %s\n", mysqli_error($connect)); 
} 

Dann den Code ausführen und sehen, ob Sie Fehler erhalten, die uns helfen können.

Update 2:

OK, versuchen Sie ein anderes Stück Debuggen.

Danach ...

$query = "INSERT INTO `amar` (`nume`, `email`, `telefon`, `subiect`, `mesaj`) VALUES ('$Nume','$Email','$Telefon','$Subiect','$Mesaj')"; 

dieses Add ...

die($query); 

speichern und den Code ausführen.

Sie erhalten eine SQL-Abfrage. Kopieren Sie diese SQL-Abfrage, fügen Sie sie ein und führen Sie sie in Ihrem Datenbankverwaltungstool aus (z. B. phpMyAdmin). Prüfen Sie, ob der Datensatz hinzugefügt wird, wenn Sie die Abfrage manuell ausführen oder wenn Fehler auftreten.

Lassen Sie uns das Ergebnis wissen.

+0

Es tut mir leid, aber ich bin ein Anfänger. über die Belichtung habe ich etwas Code, um es einzufügen, geschrieben, um das zu verhindern.Aber das ist mein # 10 Versuch, die Daten in die Datenbank zu bringen, ich habe bearbeitet, wie Sie sagten, aber es funktioniert immer noch nicht. – danut

+0

Ich habe den Code in ihn eingefügt (ohne Fehler, nach vielen Versuchen), aber kein Fehler wird angezeigt. Meine Datenbank hat (ID-ai., Nume, E-Mail, Telefon, Subiect, Mesaj). Und die db heißt nig, Tabelle namens amar. Diese bekannt, ist der Code richtig? Weil die Syntax als korrekt angezeigt wird und die Ergebnisseite nach dem Einfügen die richtige Seite ist, ohne Anomalien. Nur die DB aktualisiert die Info nicht – danut

+0

@danut Ok, ich habe die Antwort mit einer weiteren Anweisung bearbeitet. –

Verwandte Themen