Problem mit anmeldescript
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
anlegen
benutzer
benutzerdaten
brauchen
code
container
dank
email
fehler
geld
niederlage
not
null
sieg
spalte
tabelle
text
type
verbindung
-
Hallo
Ich habe vor ein par tagen mit einem neuen projekt angefangen.
Ich hatte ein anmeldescript das auch funktioniert hat aber plötzlich (ohne das ich irgendwas geändert hab) geht es einfach nichtmehr.
Es gibt immer die meldung:"Beim Anlegen des neuen Benutzers trat leider ein Fehler auf."aus.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title></title> </head> <body> <!--container--> <?php if(!isset($_POST['submit'])) { ?> <form action="<?php $PHP_SELF ?>" method="post"> <table style="border:0; position:absolute; top:28%; left:15%;"> <tr> <td> <b>Neuen Benutzer anlegen</b> </td> </tr> <tr> <td>Benutzername*</td> <td><input name="username" type="text" ></td> </tr> <tr> <td>E-Mail*</td> <td><input name="EMail" type="text"></td> </tr> <tr> <td>Passwort*</td> <td><input name="password" type="password"></td> </tr> <tr> <td><input name="submit" value="Benutzer anlegen" class="button" type="submit"></td> </tr> </table> </form> <?php }elseif(!isset($_POST['username']) || $_POST['username'] == ""){ echo '<p align="center">Einen Benutzernamen brauchen wir schon!</p>'; }elseif(!isset($_POST['EMail']) || $_POST['EMail'] == ""){ echo '<p align="center">Bitte Gib eine E-Mail Adresse ein.<br><a href="?URL=anmelden.php">Zurück</a></p>'; }else{ $Name = $_POST['username']; $PWD = $_POST['password']; $Mail = $_POST['EMail']; if($insert = @mysql_query("INSERT INTO benutzerdaten SET Name = '$Name', EMail = '$Mail', Passwort = '$PWD', Siege = '0', Niederlagen = '0', Geld = '200.00'")) { echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt.<br><a href="index.php">Zurück</a></p>'; }else{ echo '<p align="center">Beim Anlegen des neuen Benutzers trat leider ein Fehler auf.<br><a href="?URL=index.php">Zurück</a></p>'; } } ?> </body> </html>
SQL verbindung steht auch hab sie nur nich angegeben.
die mysql tabelle:
CREATE TABLE benutzerdaten ( ID int(11) NOT NULL AUTO_INCREMENT, Name varchar(50) NOT NULL, Passwort varchar(50) NOT NULL, EMail varchar(50) NOT NULL, Siege varchar(50) NOT NULL, Niederlagen varchar(50) NOT NULL, Online varchar(50) NOT NULL, PRIMARY KEY (ID) );
ich hoffe ihr könnt mir helfen.
LG:Raff
Beitrag zuletzt geändert: 1.6.2009 10:26:33 von raff -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
An dem Script ist eigentlich nichts falsch. Der einzige Fehler könnte die Verbindung zu MySQL sein.
-
kann eigendlich auch nicht sein weil wen ich mir manuel einen user erstelle dann kann ich mich normal einlogen und da is die selbe mysql verbindung (die selbe datei).
-
raff schrieb:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title></title> </head> <body> <!--container--> <?php if(!isset($_POST['submit'])) { ?> <form action="<?php $PHP_SELF ?>" method="post"> <table style="border:0; position:absolute; top:28%; left:15%;"> <tr> <td> <b>Neuen Benutzer anlegen</b> </td> </tr> <tr> <td>Benutzername*</td> <td><input name="username" type="text" ></td> </tr> <tr> <td>E-Mail*</td> <td><input name="EMail" type="text"></td> </tr> <tr> <td>Passwort*</td> <td><input name="password" type="password"></td> </tr> <tr> <td><input name="submit" value="Benutzer anlegen" class="button" type="submit"></td> </tr> </table> </form> <?php }elseif(!isset($_POST['username']) || $_POST['username'] == ""){ echo '<p align="center">Einen Benutzernamen brauchen wir schon!</p>'; }elseif(!isset($_POST['EMail']) || $_POST['EMail'] == ""){ echo '<p align="center">Bitte Gib eine E-Mail Adresse ein.<br><a href="?URL=anmelden.php">Zur&uuml;ck</a></p>'; }else{ $Name = $_POST['username']; $PWD = $_POST['password']; $Mail = $_POST['EMail']; if($insert = @mysql_query("INSERT INTO benutzerdaten SET Name = '$Name', EMail = '$Mail', Passwort = '$PWD', Siege = '0', Niederlagen = '0', Geld = '200.00'")) { echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt.<br><a href="index.php">Zur&uuml;ck</a></p>'; }else{ echo '<p align="center">Beim Anlegen des neuen Benutzers trat leider ein Fehler auf.<br><a href="?URL=index.php">Zur&uuml;ck</a></p>'; } } ?> </body> </html>
SQL verbindung steht auch hab sie nur nich angegeben.
die mysql tabelle:
CREATE TABLE benutzerdaten ( ID int(11) NOT NULL AUTO_INCREMENT, Name varchar(50) NOT NULL, Passwort varchar(50) NOT NULL, EMail varchar(50) NOT NULL, Siege varchar(50) NOT NULL, Niederlagen varchar(50) NOT NULL, Online varchar(50) NOT NULL, PRIMARY KEY (ID) );
Also, laut deine Tabellenauflistung darf die Spalte Online nicht leer sein, ich sehe jedoch in deinen Code keinen Eintrag.
Desweiteren finde ich keine Spalte für das Geld.
Ausserdem kann es manchmal sein, dass MySQL ein Wert "0" so ansieht, dass es automatisch leer ist... sollte nicht mehr so sein, aber naja.
Des weiteren würde ich aufpassen, ob du nicht vielleicht auch das PWD überprüfen solltest und verschlüsselt eintragen solltest
Oder habe ich da was übersehen?
Beitrag zuletzt geändert: 1.6.2009 11:19:47 von ichbinlooper -
Ja danke (= dummer fehler aber ich versteh nich warum es dann am anfang geklapt hat....
naja danke für die hilfe
LG:Raff -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage