2016-06-07 11 views
-4

Ich habe ein Problem mit meinem Code ... Ich bin nicht sicher, was verursacht, dass es zweimal in meiner Datenbank eingegeben wird. Die in das Formular eingegebene Information wird in die Datenbank eingefügt, und dann ist darunter ein weiterer Eintrag, der jedoch leer ist. Es passiert jedes Mal, wenn das Formular gesendet wird. Wie repariere ich es?Wie behebe ich doppelte Einträge in der Datenbank?

<?php 
// form data // 

$id = $_POST['id']; 
$joined = date("Y/m/d"); 
$uname = $_POST['uname']; 
$email = $_POST['email']; 

// Create connection 
$connect = mysql_connect("localhost","user","pass"); 
mysql_select_db("db"); //select database 


    //register into database 


    $sql = mysql_query(" 

    INSERT INTO table VALUES 
('','$joined','$uname','$email')  
    "); 

echo "thanks for signing up!"; 

?> 
+0

Warum legen Sie Ihren ersten Wert als leer? –

+0

Versuchen Sie, die Verbindung direkt nach dem Einfügen zu schließen. (Anmerkung: Wenn das die sehr wenigsten Ihre Probleme mit einer Abfrage wie das ist.) –

+0

Ich habe versucht, den Leerwert für ‚id‘ in dem Code zu entfernen, aber es wird nicht einmal in die Datenbank einfügen mehr, so dass ich behielt es. – JayM

Antwort

0

Es gibt keine Notwendigkeit, die id so leer wie die Abfrage automatisch die ID holt zu erwähnen, die als Primärschlüssel und Auto increment.You Abfrage sollte dies gefällt und nach dem Tabellennamen auch den Spaltennamen Sie können definiert angeben aus der Datenbank:

$sql=mysql_query("insert into `table`(joined,uname,column) values('$joined','$uname','$email')"); 
0

Sie müssen Validierung in Ihrem Formular verwenden doppeltes Datum in der database.You zu beheben, um das ID-Feld in einem Formular verwenden, um auf jeden Fall sollten Sie Javascript verwenden.

1

Ich vermute, das etwas mit .htaccess zu tun haben könnte, das zweite Mal umleiten, die den Einsatz erklären könnte, aber mit leeren Werten. Bitte vergewissern Sie sich vor dem Einfügen, dass die Werte nicht null sind. Dadurch bleiben Ihre leeren Werte weg.

Überprüfen Sie auch Ihre .htaccess und beheben, was Problem verursacht es Ihre Seite zweimal getroffen.

+0

Wie überprüfe ich die .htaccess Seite? Ich habe alle Null-Werte auf Ja geändert, aber es fügt immer noch den zusätzlichen leeren Eintrag unterhalb des tatsächlich übermittelten Eintrags ein. – JayM

+0

fand ich meine .htaccess-Seite, aber es ist leer ... – JayM

+1

Ich schlage vor, Sie verwenden, wenn die Bedingung für NULL-Werte zu überprüfen. 'if ($ beigetreten! = '' && $ uname! = '' && $ email! = '')' vor Ihrem Einsatz Abfrage. Ich bin ziemlich sicher, dass es eine Umleitung zu Ihrer Seite ohne die POST-Vars ist, die die leeren Werte verursacht. Überprüfen Sie Ihre http-Zugriffsprotokolle, um zu sehen, was ich meine. – phreakv6

Verwandte Themen