Ich brauche ein kleines Registrierugnsformular mit 3 Feldern, welche dann in eine MySql Datenbank geschrieben werden.
Folgendes Problem:
- Kein Fehler nichts, doch die Daten werden nicht in die Datenbank geschrieben
Was brauch ich noch:
- Zuerst ein Check ob die Felder leer sind - Zuerst ein Check ob ID oder Email schon vorhanden.
Da ich wirklich 0 Ahnung von der Materie hier habe, könntet ihr mir das evt. in den Source einfügen?
Hier HTML & PHP Source.
Reg Formular:
Beta Account! >
Request a beta test account!
PHP Code: [PHP]
Beta request!
// Die Parameter für die Datenbank-Verbindung festlegen $servername = "localhost"; $benutzer = "benutzer"; $passwort = "password";
// Versuchen, die DB-Verbindung herzustellen if ($verbindung = mysql_connect ($servername, $benutzer, $passwort)) { echo "The connecton has been established!
// Die Datenbank auswählen if (!mysql_select_db ($datenbank)) { echo "Couldn't select the database: " . mysql_error(); exit(); } else { echo "The database has been selected
Also der PHP teil sieht schonmal schlecht gecodet aus xD Ich hab jetzt einfach die Sachen eingefügt ohne was anderes zu ändern. Zudem ist das ganze ziehmlich unsicher :p Du musst dann auch bei deinem HTML Form die method auf POST ändern.
Code:
<HTML><br /><HEAD><br /><TITLE>Beta request!</TITLE><br /></HEAD><br /><BODY><br /><?php<br /><br />// Die Parameter für die Datenbank-Verbindung festlegen<br />$servername = "localhost";<br />$benutzer = "benutzer";<br />$passwort = "password";<br /><br />// Versuchen, die DB-Verbindung herzustellen<br />if ($verbindung = mysql_connect ($servername, $benutzer, $passwort)) {<br />echo "The connecton has been established!<P>";<br />} else {<br />echo "- Disconnected - " . mysql_error();<br />exit();<br />}<br /><br />$datenbank = "trojanwars";<br />$tabellenname = "TabelleA";<br /><br />// Die Datenbank auswählen<br />if (!mysql_select_db ($datenbank)) {<br />echo "Couldn't select the database: " . mysql_error();<br />exit();<br />} else {<br />echo "The database has been selected<P>";<br />}<br /><br />if (!$_POST["ID"] = "" && !$_POST["Email"] = "" && $_POST["PW"] = "") {<br /> if (mysql_num_rows(mysql_query("SELECT * FROM $tabellenname WHERE Email = '$_POST[email]'")) < 1) {<br /> if (mysql_num_rows(mysql_query("SELECT * FROM $tabellenname WHERE ID = '$_POST[ID]'")) < 1) {<br /> <br /> $sql = "INSERT INTO `$tabellenname` (`ID`, `Password`, `Email`) VALUES ('$_POST[ID]', '$_POST[PW]', '$_POST[email]')";<br /> <br /> mysql_db_query ($datenbank, $sql);<br /> <br /> $Name=$_get['Name'];<br /> echo "$ID<br />n";<br /> <br /> $result = mysql_db_query ($datenbank, $sql);<br /> } <br /> else {<br /> echo "ID gibts schon";<br /> }<br /> }<br /> else {<br /> echo "User gibts schon";<br /> }<br />}<br />else {<br /> echo "felder nicht ausgefüllt";<br />}<br /><br />// Die Verbindung zur Datenbank schliessen<br />mysql_close ($verbindung);<br />?><br /><br /><br /><br /></BODY><br /></HTML>
Hab jetzt schon lange nix mehr in PHP gemacht, sollte aber funzen _________________
Regenwurm Coder
Anmeldedatum: 06.05.2008 Beiträge: 88
Verfasst am: 09.07.2008, 16:30
Hallo
Ich probiere es gleich aus Wegen dem schlecht gecodeten Teil etc. Wie gesagt ich habe 0 Ahnung von PHP etc. und die Source ist auch nicht von mir :p
Wie meinst du ist das ganzer unsicher? Was schlägst du mir vor?
EDIT:
Folgende Fehler:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/trojanwars/add.php on line 33
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/trojanwars/add.php on line 34 blabla
PHP CODE:
Code:
if (mysql_num_rows(mysql_query("SELECT * FROM $tabellenname WHERE Email = '$_POST[email]'")) < 1) {<br /> if (mysql_num_rows(mysql_query("SELECT * FROM $tabellenname WHERE ID = '$_POST[ID]'")) < 1) {
EDIT 2:
[PHP]if ($_POST["Email"] != "" && $_POST["PW"] != "") { if (mysql_num_rows(mysql_query("SELECT * FROM `".$tabellenname."` WHERE `Email` = '".$_POST[email]."' ")) < 1) { if (mysql_num_rows(mysql_query("SELECT * FROM `".$tabellenname."` WHERE `ID` = '".$_POST[ID]."' ")) < 1) {
$result = mysql_db_query ($datenbank, $sql); } else { echo "ID is already used"; } } else { echo "Email is already used"; } } else { echo "Please fill-out all the rows."; }
// Die Verbindung zur Datenbank schliessen mysql_close ($verbindung); ?>[/PHP]
So.. Keine Fehlermeldung etc mehr, nur bekomm ich immer den Fehler dass die Email bereits in Benutzung sei. Und beim HTML File hab ich die METHOD noch auf POST geändert.
ich hoffe auf eine Antwort bis morgen =) _________________