DarkDragon-1993
Neues Mitglied
Ich wollte eine Anmeldung errichten, da ich an einer Homepage für eine Gilde in einem Spiel arbeite. (Dieses Projekt ist zwar mitlerweile leider nicht mehr als annerkannte zukünftige Site zu betrachten, aber damit kann ich auch gut lernen und habe für das nächste Praktikum einen handfesten Beweis.) Damit ich nicht alle Mitglieder per Hand eingeben muss (sollte sich jemand dort anmelden wollen), erstellte ich eine Anmeldung. Ich überprüfe als erstes das Passwort auf Gleichheit mit der Wiederholung, dann überprüfe ich die Datenbank nach dem Username, dann folgt die eigentliche Anmeldung. Allerdings sagt mir MySQL schon beim Username jedesmal, dass zwar für mysql_fetch_assoc( ) der übergebene Parameter keine gültige MySQL-Recource-ID ist, aber ich will überprüfen, ob überhaupt darin etwas steckt. Sollte darin eine valide ID stecken, soll die Anmeldung abbrechen, aber sie wird weiter ausgeführt. Hier der Code (ich bin in diesem Gebiet noch neu, also bitte nachsichtig sein und Verbesserungsvorschläge nehme ich gerne!):
Code:
if( isset( $_POST[ "username" ] ) or isset( $_POST[ "pw" ] ) or isset( $_POST[ "email" ] ) )
{
if( $_POST[ "pw" ] == $_POST[ "pwrepeat" ] )
{
$sql = "
SELECT FROM
user
WHERE
name = \"" . $_POST[ "username" ] . "\";";
$result = mysql_query( $sql );
if( $row = @mysql_fetch_assoc( $result ) )
{
echo "
<p>
Username ist bereits vergeben!
</p>";
} else {
$sql = "
INSERT INTO
user
(
name,
pw,
email,
homepage,
birthday,
rank,
firstname,
lastname
)
VALUES
(
\"" . $_POST[ "username" ] . "\",
\"" . $_POST[ "pw" ] . "\",
\"" . $_POST[ "email" ] . "\",
\"" . $_POST[ "hp" ] . "\",
\"" . $_POST[ "bday" ] . "\",
\"User\",
\"" . $_POST[ "prename" ] . "\",
\"" . $_POST[ "lastname" ] . "\"
)";
$result = mysql_query( $sql );
if( !$result )
{
echo "
<p>
Bei der Anmeldung ist ein Fehler aufgetreten!<br />
Versuche es erneut oder kontaktiere in "Skype" "LightDragoon", das bin ich.<br />
" . mysql_error( ) . "
</p>";
}
}
} else {
echo "
<p>
Das Passwort ist entweder nicht eingegeben oder stimmt mit der Wiederholung nicht überein!
</p>";
}
}