Mailinglisten-Archive |
Hallo > >Du musst erst mit einer Schleife die Ergebniszeilen aus deiner query > >rausholen. > Ich habe es jetzt mal so versucht: [...] > kann es sein, das ich dich missverstanden habe ? Da der erste if-Teil ja nur max. einmal erfüllt ist, wird der else-Zweig immer wieder ausgeführt und du erhälst diese Ausgabe eben x-mal. Wie wärs denn damit: include("lib/mysql.inc.php"); $abfrage = " SELECT benutzername FROM user WHERE benutzername = $_POST[benutzername]"; $ergebnis = mysql_query($abfrage); if (!mysql_num_rows($ergebnis)) { $passwort = md5($passwort); $eintrag = "INSERT INTO `user` (`benutzername`, `passwort`, `email`, `geburtstag`, `wohnort`, `icq`, `msn`, `homepage`) VALUES ('$_POST[benutzername]', '$passwort', '$_POST[email]', '$_POST[geburtstag]', '$wohnort', '$icq', '$msn', '$homepage')"; $eintragen = mysql_query($eintrag); echo "Du wurdest erfolgreich registriert!"; } else { echo 'Der Benutzernamen '.$_POST[benutzername].' ist bereits vergeben.'; echo 'Wähle bitte einen anderen Namen.<br>Zurück'; } Übrigens sollte man, um Probleme mit Sonderzeichen zu vermeiden, die eingegebenen Daten Escapen. $eintrag = " INSERT INTO `user` (`benutzername`, `passwort`, `email`, `geburtstag`, `wohnort`, `icq`, `msn`, `homepage`) VALUES (addslashes($_POST[benutzername]), '$passwort', addslashes($_POST[email]), addslashes($_POST[geburtstag]), ... usw. Nach dem Auslesen der Werte ist dann auf die ausgelesenen Werte ein stripslashes() anzuwenden. -- Koala
php::bar PHP Wiki - Listenarchive