MatStorm Geschrieben 30. November 2009 Geschrieben 30. November 2009 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 Zitieren
robotto7831a Geschrieben 30. November 2009 Geschrieben 30. November 2009 PHP - mysql_query - MySQL-Funktionen Zitieren
MatStorm Geschrieben 1. Dezember 2009 Autor Geschrieben 1. Dezember 2009 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 Zitieren
robotto7831a Geschrieben 1. Dezember 2009 Geschrieben 1. Dezember 2009 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 Zitieren
MatStorm Geschrieben 2. Dezember 2009 Autor Geschrieben 2. Dezember 2009 Was soll ich den jetzt ersetzen? bin verzweifelt =( Zitieren
robotto7831a Geschrieben 2. Dezember 2009 Geschrieben 2. Dezember 2009 ... if (isset($_POST['button'] && $_POST['button']==" OK ") ... mysql_query("INSERT INTO cds(titel,interpret)VALUES(".$_POST['titel'].",".$_POST['interpret'].")"); [/php] Frank Zitieren
MatStorm Geschrieben 3. Dezember 2009 Autor Geschrieben 3. Dezember 2009 (bearbeitet) 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 2009 von MatStorm Zitieren
VaNaTiC Geschrieben 3. Dezember 2009 Geschrieben 3. Dezember 2009 (bearbeitet) 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 2009 von VaNaTiC Zitieren
MatStorm Geschrieben 4. Dezember 2009 Autor Geschrieben 4. Dezember 2009 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] Zitieren
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.