HTML Formulardaten in mySQL Speichern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bisheriger fortschritt
code
dank
datenbank
datum
eintrag
einzelnen themen
email
fehler
fenster
host
http
klartext
muster
not
null
recht gut helfen
sicherheit
text
url
-
Hallo,
ich habe da ein (kleines) Problem. Ich möchte ein eigenes Supportformular erstellen, doch ich bekomme das irgendwie nicht hin!
Hier mal mein bisheriger Fortschritt:
Der Code der muster.html lautet:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>MUSTER</title> </head> <body> <h1>MUSTER</h1> <form name="abfrage" action"muster.php" method="post"> <table border="0" cellpadding="0" cellspacing="4" bgcolor="#E0E0E0"> <tr> <td><input name="email" type="text" size="30" maxlength="30" value="E-Mail-Adresse"</td> </tr> <tr> <td><input name="text" type="text" size="30" maxlength="30" value="Text"</td> </tr> <tr> <td><input name="absenden" type="submit" value="Absenden"></td> </tr> </table> </form> </body> </html>
Der Code der muster.php lautet (Daten wurden durch "....." ersetzt):
<?php $host = '.....'; $user = '.....'; $password = '.....'; $db = '.....'; mysql_connect($host, $user, $password); mysql_select_db($db); $mbemail= $_POST["email"]; $mbtext= $_POST["text"]; $eintrag = "INSERT INTO user (email, text) VALUES ('$mbemail', '$mbtext')"; $absenden = mysql_query($eintrag); mysql_close(); ?>
Die DB-Tabelle habe ich wie folgt erstellt:
CREATE TABLE `user` ( `id` INT(10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `email` VARCHAR(30 ) NOT NULL , `text` VARCHAR(30 ) NOT NULL ) ENGINE = MYISAM ;
Ich weiß das die HTML noch kein schönes Design hat und dass das Textfeld recht klein ist, doch das kann ich alles leicht ändern. Mir geht es hier primär um die Speicherung der Daten in der Datenbank.
Zusätzlich wäre es super, wenn die muster.html nich als ganzes fenster, sondern nur als kleines PopUp (ohne Adresszeile und mit festen Maßen) aufploppen würde - weiß jm. wie das geht?
Danke schon Mal im Vorraus!
Beitrag zuletzt geändert: 28.6.2011 0:42:55 von clan-gaming -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das wichtigste gleich mal vorweg: Niemals Benutzereingaben ungeprüft in die Datenbank schreiben! Das ist somit dass schlimmste was Du anstellen kannst. Naja fast, man kann immer noch gleich seine ganzen Passwörter und so weiter auf der Seite im Klartext speichern, aber ungeprüfte Eingaben kommen kurz dahinter.
Außerdem lege ich Dir die MySQLi Class wärmstens ans Herz. Ist zum einem ein wenig Sicherer, zum anderen auch ein wenig einfacher zu handhaben. Google sollte dafür auch ein paar gescheite Tutorials raus werfen ;)
Für den Rest Verweise ich Dich einfach mal auf das QNet PHP Tutorial was sehr praxisnah die einzelnen Themen behandelt und mit dem ich auch PHP gelernt habe.
Was Deinen Wunsch mit den Formular angeht. AJAX sollte dafür die beste Lösung sein, dann hast Du noch nicht einmal ein Fenster was zusätzlich aufpopt, sondern hast alles auf einer Seite. JQuery sollte Dir hierbei auch recht gut helfen können. -
strange hat ja fast schon alles gesagt und ich würde noch ein Captcha ein bauen kleiner schutz vor spamern http://www.tutorials.de/php-tutorials/248923-php-einfacher-captcha-mit-gd2-und-freetype.html
-
Danke für eure schnellen Antworten und ich werde die Hinweise auch berücksichtigen, doch weiß ich noch immer nicht warum nichts in die DB geschrieben wird. Der Code müsste ja grundsätzlich auch so wie er jetzt ist funktionieren, oder nicht?
Habe ja schon in einigen Guides bzw. mit Hilfe von google geschaut, doch nichts gefunden was mir geholfen hat.
Mag sich evtl. mal jm. die Codes anschauen - vielleicht findet ihr ja den Fehler. -
Vielleicht das:
<form name="abfrage" action"muster.php" method="post">
so schreiben:
<form name="abfrage" action="muster.php" method="post">
Du hast das "=" bei action vergessen... -
Genau, das war der Fehler, danke! :D
-
Ein kleiner Tipp: manchmal hilft auch bei vermeintlichen PHP-Problemen der Validator von w3.org. Der hätte diesen Fehler mit Sicherheit sofort entdeckt
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage