Sponsor-Board.de

Normale Version: Mysql register script problem
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin,

Ich habe ein register script auf meiner seite, aber wenn man sich registriert kommt ein fehler.

[Link: Registrierung erforderlich]

Wenn ihr auf den Registrieren button klickt und euch anmeldet, dann kommt der Fehler:

Zitat:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/customers/webs/templates/gmh/eintragen.php on line 19 Call Stack: 0.0003 658144 1. {main}() /var/customers/webs/templates/gmh/eintragen.php:0 0.0073 666432 2. mysql_num_rows() /var/customers/webs/templates/gmh/eintragen.php:19 Fehler beim Speichern des Benutzernames. Zurück


hier ist die datei:

Zitat:
<?php
$verbindung = mysql_connect("localhost", "DATENBANKNAME" , "DATENBANKPASSWORT")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("DATENBANK") or die ("Datenbank konnte nicht ausgewählt werden");

$username = $_POST["username"];
$passwort = $_POST["passwort"];
$passwort2 = $_POST["passwort2"];

if($passwort != $passwort2 OR $username == "" OR $passwort == "")
{
echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"index.php\">Zurück</a>";
exit;
}
$passwort = md5($passwort);

$result = mysql_query("SELECT id FROM login WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);

if($menge == 0)
{
$eintrag = "INSERT INTO login (username, passwort) VALUES ('$username', '$passwort')";
$eintragen = mysql_query($eintrag);

if($eintragen == true)
{
echo "Benutzername <b>$username</b> wurde erstellt. <a href=\"login.html\">Login</a>";
}
else
{
echo "Fehler beim Speichern des Benutzernames. <a href=\"index.php\">Zurück</a>";
}


}

else
{
echo "Benutzername schon vorhanden. <a href=\"eintragen.html\">Zurück</a>";
}
?>


DBname undso wurde für die anzeige hier rausgenommen Tongue

Kann mir einer bei meinem problem helfen?
Bin für jede Antwort dankbar.

Liebe Grüße

Wie kann man den beheben?

$_POST IMMER Maskieren mit mysql_real_escape_string

Innerhalb vom Querys immer so arbeiten:
mysql_query("SELECT `FIELD` FROM `TABLE` WHERE `THIS` = 'THAT'")

Du kannst es dir auch einfach machen, einfach den Query ins If, wenn es richtig ist geht es schon weiter, ansonsten else und es kommt die Fehlermeldung Wink
Was heißt denn bitteschön Maskieren? Biggrin
Ich checke jetzt nicht wirklich was ich machen soll?! Eek
Referenz-URLs