MoechtegernFI Geschrieben 27. Mai 2004 Teilen Geschrieben 27. Mai 2004 Hallo zusammen! Ich habe in meiner PHP-Seite ein kleines JavaScript eingebaut welches überprüft ob ein Nutzer Daten eingetragen hat. Jetzt zu dem, was mich hier mit offener Kinnlade und absolutem Unverständnis zurücklässt: Wenn ich mit dem Internet-Explorer einen neuen Datensatz in eine Tabelle der MySql-Datenbank eingebe, wirds doppelt eingetragen. Gebe ich einen neuen Datensatz über den Opera ein, gibts keinen doppelten Eintrag. Versuche ich allerdings über den Opera einen Datensatz zu löschen, passiert gaaaaaarnix. Der Internet-Explorer wiederum machts. Vielleicht liegts am JavaScript? Wie gesagt, ich versteh einfach nich warum. Hoffentlich kann mir noch einer helfen, bevor ich total GAGA werd. Schonmal DANKE im voraus! Hier mal den Quellcode: neueintr.php: if(isset($_POST['neuplattform'])) { print "<table border=0> <form name=\"neuplattform\" onsubmit=\"return fillcheck()\"> <tr><td>Plattform: </td><td><input type=\"text\" name=\"plattf\"></td><td>*</td></tr> <tr><td><input type=\"submit\" value=\"Abschicken\"></td> <td><input type=\"reset\" value=\"Zurücksetzen\"></td></tr> </table> <script language=\"JavaScript\"> function fillcheck() { var plattf = document.neuplattform.plattf.value; var checked = true; if((plattf.length==0)) { alert(\"Bitte füllen Sie die mit * gekennzeichneten Felder aus!\"); checked= false; return checked; } if (checked) { document.neuplattform.method = \"post\"; document.neuplattform.action = \"dbspeichern.php\"; document.neuplattform.submit(); } return checked; } </script>\n"; //---------------------------------------------------------------------- dbspeichern.php: if(isset($_POST['plattf'])) { $conn = mysql_connect("localhost","root"); if($conn) { $plattf = $_POST['plattf']; mysql_select_db("tauschboerse"); $sqlPlattf = "insert into plattform (ID,Plattform)values('','$plattf')"; $resultPlattf = mysql_query($sqlPlattf,$conn); if($resultPlattf) { echo "Die neue Plattform wurde erfolgreich angelgt."; mysql_close($conn); } else { echo "<p>" .mysql_error($conn) ."</p>"; } } else { die("<b>Verbindung zum MySQL-Server fehlgeschlagen!"); } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MightyCats Geschrieben 27. Mai 2004 Teilen Geschrieben 27. Mai 2004 Du hast da auch einen kleinen Denkfehler. Entweder du machst es onsubmit (im formular kopf) läßt dafür aber dann in der js funktion das form.submit weg oder du trägst beim button onClick=js funktion ein. So wie du es im moment hast schickt er das formular auch zweimal ab. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MoechtegernFI Geschrieben 27. Mai 2004 Autor Teilen Geschrieben 27. Mai 2004 Jetzt funktionierts :OD Viiiiielen Dank! Bin halt 'en JavaScript-Noob PS: Was wäre denn die elegantere oder 'bessere' Methode? (Habe jetzt nur das form.submit rausgelöscht) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MightyCats Geschrieben 27. Mai 2004 Teilen Geschrieben 27. Mai 2004 Jo ist kein problem. Schwierig zu sagen welche die bessere methode ist. Man müßte die Varianten erstmal in allen Browserarten testen und dann sich für die entscheiden die bei den meisten und gängigsten browsern funktioniert. Allerdings ist weniger = mehr also die onsubmit weil man sich dann unnötigen sourcecode spart Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 27. Mai 2004 Teilen Geschrieben 27. Mai 2004 Jetzt funktionierts :OD Viiiiielen Dank! Bin halt 'en JavaScript-Noob PS: Was wäre denn die elegantere oder 'bessere' Methode? (Habe jetzt nur das form.submit rausgelöscht) Im Allgemeinen ist es besser, den Button zu verwenden, da Javascript vom Client deaktiviert werden können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Noxy Geschrieben 27. Mai 2004 Teilen Geschrieben 27. Mai 2004 Wiso verwendest du eigentlich nicht gleich PHP um zu überprüfen, ob die Variablen richtig gefüllt sind? Javascript kann man deaktivieren, PHP ist immer aktiv. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 27. Mai 2004 Teilen Geschrieben 27. Mai 2004 Wiso verwendest du eigentlich nicht gleich PHP um zu überprüfen, ob die Variablen richtig gefüllt sind? Javascript kann man deaktivieren, PHP ist immer aktiv. Javascript bietet den Vorteil, da es Clientseitig läuft, dass man die Formularprüfungen durchführen kann, ohne die Seite abschicken (neu zu laden) zu müssen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.