Veröffentlicht 30. November 200915 j Hi Leute, ich hätte mal eine Frage. Ich habe eine mySQL-Datenbank und wollte ein Formular erstellen, indem man dann Benutzername und Passwort eingibt und direkt in die Datenbank schreibt. Könnt Ihr mir ein Beispielskript geben? Thanks im Vorraus mfg Matstorm
1. Dezember 200915 j Ich hab jetzt etwas gefunden: MySQL mit PHP - Tutorial, Datensätze speichern nur.. ich hab genau das gemacht was da steht. Ich hab die Datenbank konfiguriert und sonst muss man da nichts ändern. Als ich auf "createta.php" gegangen bin, erstellte er ein Datenblatt. Ich sollte nun auf "insert.php" gehen, wo, normalerweise, die nun eingegebenen Daten in das Datenblatt eingefügt wird. Stattdessen aktualisiert die Seite sich einmal und das wars... kann mir jemand helfen? Alles genaueres steht auf der Website. MFG Matstorm
1. Dezember 200915 j Hallo, das Beispiel ist nicht gerade das beste. Denn vor einigen Versionen hat sich etwas in Sachen Sicherheit bei PHP getan. Man kann jetzt nicht einfach die Werte mit $titel und $interpret abfragen. In dem Beispiel müsste es $_POST['titel'] und $_POST['interpret'] lauten. Frank
2. Dezember 200915 j ... if (isset($_POST['button'] && $_POST['button']==" OK ") ... mysql_query("INSERT INTO cds(titel,interpret)VALUES(".$_POST['titel'].",".$_POST['interpret'].")"); [/php] Frank
3. Dezember 200915 j Thx^^ ich hab das so gemacht, doch da zeigte er mir einen Fehler an. Den Fehler hab ich behoben (ein ')' Fehlte). Jetzt funktioniert alles. Er erstellt zwar eine neue Zeile und Schreibt bei der ID die nächste Zahl hin, die beiden anderen Felder Titel und Interpret sind jedoch leer. Hier hab ich das Skript: <html> <body> <?PHP if (isset($_POST['button']) && $_POST['button']==" OK ") { include("db.php"); mysql_query("INSERT INTO cds(titel,interpret)VALUES(".$_POST['titel'].",".$_POST['interpret'].")"); mysql_close(); ?> Die Daten wurden eingetragen<br> <a href="insert.php">neuer Eintrag</a><br> <a href="fetcharr.php">zur Übersicht</a> <?PHP } else { ?> <form method="post" action="insert.php"> <input type="text" name="interpret" value="interpret"><br> <input type="text" name="titel" value="titel"><br> <input type="submit" name="button" value=" OK "> </form> <?PHP } ?> </body> </html>[/PHP] Thx dass Sie mir helfen mfg MatStorm *EDIT* Könnte es vll an den " liegen? Dass sie vielleicht die Zeile manipulieren? Bearbeitet 3. Dezember 200915 j von MatStorm
3. Dezember 200915 j titel und interpret sind aller Wahrscheinlichkeit nach vom DB-Typ varchar oder char. Dann müssen die values in 'string'. ... VALUES('".$_POST['titel']."','".$_POST['interpret']."')"); Und bitte aufpassen mit SQL-Injection. Bearbeitet 3. Dezember 200915 j von VaNaTiC
4. Dezember 200915 j Danke^^ Es klappt jetzt zu 100%^^ Hier ist das komplette Skript (funktionstüchtig!): <html> <body> <?PHP if (isset($_POST['button']) && $_POST['button']==" OK ") { include("db.php"); mysql_query("INSERT INTO cds(titel,interpret)VALUES('".$_POST['titel']."','".$_POST['interpret']."')"); ?> Die Daten wurden eingetragen<br> <a href="insert.php">neuer Eintrag</a><br> <a href="fetcharr.php">zur Übersicht</a> <?PHP } else { ?> <form method="post" action="insert.php"> <input type="text" name="interpret" value="interpret"><br> <input type="text" name="titel" value="titel"><br> <input type="submit" name="button" value=" OK "> </form> <?PHP } ?> </body> </html>[/PHP]
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.