Tach
Ich bin nen absoluter Neuling im Bereich PHP, bzw. lerne es halt zur Zeit und hab ein Problem mit einer If-Abfrage... die nicht so will wie ich will.
Es wird ne Verbindung zur Datenbank hergestellt und in der Datei register.php ist halt ein Formular, mit dem man sich registrieren kann.
Natürlich möchte ich nicht, dass es doppelte und dreifache Nicknames in der Datenbank gibt und hab halt deshalb eine If-Abfrage gemacht... das gleiche gilt für die E-Mail Adresse, bitte schön:
Er checkt einfach nicht ab, ob ein Spielername vorhanden ist und führt dann halt das aus, was in der If-Abfrage steht... :/
Hoffe mir kann wer helfen :>
Ich bin nen absoluter Neuling im Bereich PHP, bzw. lerne es halt zur Zeit und hab ein Problem mit einer If-Abfrage... die nicht so will wie ich will.
Es wird ne Verbindung zur Datenbank hergestellt und in der Datei register.php ist halt ein Formular, mit dem man sich registrieren kann.
Natürlich möchte ich nicht, dass es doppelte und dreifache Nicknames in der Datenbank gibt und hab halt deshalb eine If-Abfrage gemacht... das gleiche gilt für die E-Mail Adresse, bitte schön:
PHP:
<?php
$result = mysql_query("SELECT nickname FROM members");
$result2 = mysql_query("SELECT email FROM members");
if (isset($_POST['submit']) AND "Registrieren" == $_POST['submit']) {
if(!isset($_POST['nickname'], $_POST['email'], $_POST['email2'])) {
echo "<font color=\"#ff0000\">Bitte fülle alle Felder aus.</font><br /><br />";
}
elseif(trim($_POST['nickname']) == "") {
echo "<font color=\"#ff0000\">Bitte gib einen gültigen Spielernamen ein.</font><br /><br />";
}
elseif(trim($_POST['nickname']) == "Spielername") {
echo "<font color=\"#ff0000\">Bitte gib einen gültigen Spielernamen ein.</font><br /><br />";
}
elseif(($_POST['nickname']) == $result) {
echo "<font color=\"#ff0000\">Dieser Spielername wird bereits verwendet.</font><br /><br />";
}
//elseif(!preg_match('/^\s+$/', trim($_POST['nickname']))) {
// echo "Bitte gib einen gültigen Nickname ein.";
//}
elseif(!check_email_mx($_POST['email'])) {
echo "<font color=\"#ff0000\">Bitte gib eine gültige E-Mail Adresse ein.</font><br /><br />";
}
elseif(trim($_POST['email']) == "name@server.de") {
echo "<font color=\"#ff0000\">Bitte gib eine gültige E-Mail Adresse ein.</font><br /><br />";
}
elseif(trim($_POST['email']) != trim($_POST['email2'])) {
echo "<font color=\"#ff0000\">Bitte gib zwei identische E-Mail Adressen ein.</font><br /><br />";
}
elseif(($_POST['email']) == $result2) {
echo "<font color=\"#ff0000\">Diese E-Mail Adresse wird bereits verwendet.</font><br /><br />";
}
else {
$sql = "INSERT INTO members
(nickname,password,email,code)
VALUES
('".$_POST['nickname']."',MD5('".$password."'),'".$_POST['email']."','".$code."')";
mysql_query($sql) OR die(mysql_error());
echo "<font color=\"#ff0000\">Sie haben sich erfolgreich registriert.</font><br />";
echo "<font color=\"#ff0000\">Ihr Passwort wurde an die angegebene E-Mail Adresse verschickt.</font><br /><br />";
mail($empfaenger, $betreff, $text, $from);
}
}
?>
Er checkt einfach nicht ab, ob ein Spielername vorhanden ist und führt dann halt das aus, was in der If-Abfrage steht... :/
Hoffe mir kann wer helfen :>