Registrierung Username?

vodka

Mitglied
Hallo also ich hab ein Login/Registrierung script gemacht!Und will jetzt das sich nicht 2 Users mit dem gleichem Username registrieren können!Das kann man doch irgentwie mit der mysql db oder?
 
Der Query dazu:
PHP:
<?php
$sql = 'SELECT
            COUNT(*) AS count
        FROM
            users
        WHERE
            username = "' . $_POST['username'] . '"';
?>
wenn bei count 1 raus kommt existiert der Username schon.

Die 2. Möglichkeit ist die, einfach einen Unique Index auf das Feld mit dem usernamen zu legen, MySQL trägt den Datensätz dann nich ein wenn er schonmal existiert. Ich würde aber ersteres empfehlen.
 
oder auch
PHP:
if (mysql_num_rows(mysql_query("SELECT username FROM usertabelle WHERE username = '".$_POST['username']."'")) > 0) {
    echo 'Username existiert bereits!';
}
 
Hmm geht irgentwie ned:

PHP:
  <?php
if (isset ($send) )
{
// Verbindung mit der Datenbank erstellen //
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");

if(empty($_POST['username']))
{
echo "Du hast kein Username eingegeben";
}
elseif(empty($_POST['passwort']))
{
echo "Du hast kein Passwort eingegeben";
}
elseif($_POST['passwort'] != $_POST['passwort2']) 
{ 
echo "Passwörter stimmen nicht überein."; 
} 
else
{
 
if (mysql_num_rows(mysql_query("SELECT username FROM $tabellelogin WHERE username = '".$_POST['username']."'")) > 0) { 
    echo 'Username existiert bereits!'; 
}
  $query = "INSERT INTO  $tabellelogin(username, passwort, useremail, rechte)
VALUES('$_POST[username]',MD5('$_POST[passwort]'),'$_POST[useremail]','$_POST[rechte]')";
$result = mysql_query($query);


echo "Registrierung erfolgreich abgeschlossen!";


}
}
    else
{
?>

  <?
}
?>
 
Was geht nicht? Gibts ne Fehlermeldung oder was in der Richtung? Dass man euch immer alles so aus der Nase ziehen muss ;)

PS: Bei der aktuellen Struktur deines Scripts, würde er, auch wenn der Username bereits vorhanden ist, den neuen User in die Datenbank aufnehmen.
 
PHP:
if (mysql_num_rows(mysql_query("SELECT username FROM $tabellelogin WHERE username = '".$_POST['username']."'")) > 0) { 
    echo 'Username existiert bereits!'; 
} else {
  $query = "INSERT INTO  $tabellelogin(username, passwort, useremail, rechte) 
VALUES('$_POST[username]',MD5('$_POST[passwort]'),'$_POST[useremail]','$_POST[rechte]')"; 
$result = mysql_query($query); 


echo "Registrierung erfolgreich abgeschlossen!";
}

so sollte das funzen ;)

davor hast du zwar überprüft, ob der Name shcon besetzt war, jedoch danach trotzdem den neuen User eingefügt^^
 
Zurück