Ich habe für mein Loginscript eine Registrierung geschrieben, die einen neuen Benutzer auf der Datenbank anlegen soll und ein Passwort erstellen soll.
Das Script sieht wie folgt aus:
PHP-Code:
<?php
$content = '<html>
<head><title>DunkleSeelen</title></head>
<body bgcolor="#336699">
<h1>
<center>
[img]logo_de.gif[/img]
<font color="#6699ff">EX</font><font color="#ff0000">CHANGE</font>
</center>
</h1>
<hr>
';
//header Adresse
$Adresse ='http://www.fragglechen.de/login/register.php?fehler=1';
//Passwort generieren Funktion
function makepw($pwl){
srand((double)microtime()*1000000);
$c = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$pw = "";
while (strlen($pw) < $pwl) $pw .= substr($c, (rand() % (strlen($c))),1);
return $pw;
}
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "<mein benutzer>", "<meinpasswort>");
if (! mysql_select_db ("usr_web1_1", $connectionid))
{
die ("Keine Verbindung zur Datenbank"); # Hier isses egal, weil das Script stirbt
}
$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".$_REQUEST["nick"]."') OR ".
"(Email = '".$_REQUEST["Email"]."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
header ('Location: ' .$Adresse);
exit;
}
else
{
$temppw = makepw(6);
$mail = $_REQUEST["Email"];
$wunschnick = $_REQUEST["nick"];
$realvorname = $_REQUEST["vorname"];
$realname = $_REQUEST["name"];
$betreff = "Deine Registrierung bei DunkleSeelen";
$text = "Hallo " .$realvorname. ",\nDu hast dich erfolgreich bei DunkleSeelen registriert.\n\nDeine Logindaten:\n
Username: " .$wunschnick. "\n
Passwort: " .$temppw. " \n\n
Du kannst dich jetzt unter [url]http://login.fragglechen.de[/url] einloggen.";
$absender = "FROM:noreply@fragglechen.de";
$sql = "INSERT INTO ".
"benutzerdaten (Nickname, Kennwort,Email, Nachname, Vorname) ".
"VALUES ('".$wunschnick."', '".
md5 ($temppw)."', '".
$mail."','".
$realname."', '".
$realvorname."')";
mysql_query ($sql);
if (mysql_affected_rows ($connectionid) > 0)
{
$content .= "<h3><center>Benutzer erfolgreich angelegt.</center></h3>
\n";
mail ($mail,$betreff,$text,$absender);
}
else
{
$content .= "<h3><center>Fehler beim Anlegen der Benutzer.</center></h3>
\n";
}
}
$content .= '
<center>[url="forums.html"]zum Login[/url]</center></body>
</html>';
# Bis hier wurde erst mal alles in der Variablen $content gespeichert, aber
# noch kein Byte Content ausgegeben.
print $content;
?>
?>
Wenn ich die daten eintrage und abschicke bekomme ich folgenden Fehler:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/web1/html/login/register2.php on line 49
Was ist der Fehler?