Prüfen, ob es den Usernamen shcon gibt
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anmeldung
argument
beitrag
benutzer
benutzername
blicken
eingabe
ergebnis
fehler
fragen
insert
limit
mengen
not
register
resource
result
syntax
username
zeile
-
Wie gehts das?
Ich habe bei der Suche leider ncihts gefunden.
isset()?
Da blick ich auch nichtso ganz durch.
hab auch schon bei php.net gekuckt^^
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du solltest folgendes tun.
Der User gibt ja bei der Anmeldung seinen Wunschnamen an.
Dann einfach den Namen als Nickname in der Datenbank suchen - also "SELECT UserID(oderirgendwas) WHERE nickname(TabellennamewoNickdrinsteht) = '$eingegebenernick')
ODer ?hnlich, ich hab die SQL-Syntax nicht auswendig drauf
Und wenn da eine Zeile rauskommt (mysql_num_rows), soweit ich wei?, dann gibts schon den Nick. Wenn das zur?ckgegebene Resultat der MySQL-Abfrage nichts enth?lt ist der Name nicht vergeben.
Verstanden? Habe ich deine Frage ?berhaupt beantwortet?
MfG lagerhaus -
$username = $_POST['username']; $abfrage = "SELECT nickname FROM links WHERE nickname ="$username" "; $ergebnis = mysql_query($abfrage); $menge = mysql_num_rows($ergebnis); if ($menge<"0") { echo "Benutzername ist schon vorhanden, bitte wiederholen sie ihre Eingabe"; }
So ungef?hr, ist auf die schnelle getippt. -
neo1000 schrieb:
$username = $_POST['username']; $abfrage = 'SELECT nickname FROM links WHERE nickname ='$username' '; $ergebnis = mysql_query($abfrage); $menge = mysql_num_rows($ergebnis); if ($menge<'0') { echo 'Benutzername ist schon vorhanden, bitte wiederholen sie ihre Eingabe'; }
So ungef?hr, ist auf die schnelle getippt.
Bei mir w?rde das jetzt so aussehn:
$sql2='SELECT nick FROM user WHERE nick="'.$_POST['nick'].'"'; $query2=mysql_query($sql2); $nick_anzahl=mysql_num_rows(query2); if($nick_anzahl > 0) { echo 'Nickname ist bereits vergeben.'; }
Allerdings bekomme ich folgenden Fahler:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in anmeldung.php on line 41
-
$sql = 'SELECT nick FROM user WHERE nick = "' . $_POST['nick'] . '"'; $res = mysql_query($sql) or die (mysql_error()); $i = mysql_num_rows($res); if ($i < 0 ) { echo 'Benutzername ist schon vorhanden, bitte wiederholen sie ihre Eingabe'; }
damit solltest du eine bessere fehlermeldung bekommen. -
$nick_anzahl=mysql_num_rows(query2);
Du musst $query2 schreiben.
MfG lagerhaus
//EDIT: Zu langsam.
Beitrag ge?ndert am 22.01.2006 11:25 von lagerhaus -
Hier das ganze noch ein wenig kompakter.
if(mysql_num_rows('SELECT NULL FROM user WHERE nick="'.mysql_real_escape_string($_POST['nick']).'" LIMIT 1')==0) $register=mysql_query('INSERT INTO user(nick)VALUES("'.mysql_real_escape_string($_POST['nick']).'")'); else die('Benutzer bereits vorhanden !'); if($register)print('Benutzer erfolgreich angelegt'); else print('Es trat ein Fehler auf');
Zus?tzlich wurde mysql_real_escape_string() verwendet, um mysql-Injektions zu verhindern.
Beitrag ge?ndert am 22.01.2006 14:04 von bladehunter -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage