kostenloser Webspace werbefrei: lima-city


User name vergeben?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Ich möchte ein "Wunschnamen" check auf meiner hp ref="/tag/anbieten">anbieten also das man prüfen kann ob der wunschname schon vergeben ist
    in etwa so wie bei lima city "Domain gefällig" weiß aber nicht wie das geht:-D könnt ihr mir helfen das is meine DB verbindung
    include ("sql.php");   
    
    $pass = $_POST['name'];
        
    $sql = "SELECT ".  
        " * ".  
      "FROM ".  
        "benutzerdaten ".  
      "WHERE ".  
        "(Nickname'
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e********l

    Soll Groß- und Kleinschreibung beachtet werden? Dann musst du eh eine entsprechende Collation wählen. Falls ein Name unabhängig von der Schreibweise einmalig sein soll:

    "SELECT * FROM benutzertabelle WHERE benutzername LIKE '".$wunschname."'";


    Was hier nun fehlt ist der Part an dem $wunschname gegen SQL Injection gesichert wurde ^^"
  4. evil-devil schrieb:...

    Was hier nun fehlt ist der Part an dem $wunschname gegen SQL Injection gesichert wurde ^^


    richtig und man sollte auch in diesem Fall das 'SELECT * FROM..' nicht verwenden, es sei denn du möchtest mehr als die hälft aller spalten ausgeben...da dies glaub ich nicht der Fall ist könntest du das auch so lösen

    SELECT benutzername FROM benutzertabelle WHERE benutzername LIKE '".$wunschname."'
    //oder noch besser
    SELECT COUNT(benutzername) FROM benutzertabelle WHERE benutzername LIKE '".$wunschname."'


    im zweiten fall bekommst du dann die Anzahl der Zeilen zurück und wenn diese dann größer 0 ist, dann ist der name schon vorhanden.

    Beitrag zuletzt geändert: 24.2.2009 22:09:38 von myhead
  5. t*****b

    $benutzername = $_POST["name"];
    
    $res = mysql_query("SELECT COUNT(benutzername) AS vorhanden FROM benutzertabelle WHERE benutzername = '".mysql_real_escape_string($benutzername)."'");
    $row = mysql_fetch_assoc($res);
    if($row["vorhanden"] >= 1) {
     echo "Benutzername schon vergeben";
    } else {
     echo "Super, Name noch frei...";
    }
  6. desaster-productions

    desaster-productions hat kostenlosen Webspace.

    falls das allerdings schon passieren soll, bevor der benutzer das formuar abschickt (also z.B. direkt nach der eingabe ins feld oder mit einem button "Prüfen" u.Ä.) wirst du mit reinem PHP nicht weiterkommen. dann wird JavaScript nötig werden.
  7. e********l

    myhead schrieb:
    SELECT benutzername FROM benutzertabelle WHERE benutzername LIKE '".$wunschname."'
    //oder noch besser
    SELECT COUNT(benutzername) FROM benutzertabelle WHERE benutzername LIKE '".$wunschname."'


    im zweiten fall bekommst du dann die Anzahl der Zeilen zurück und wenn diese dann größer 0 ist, dann ist der name schon vorhanden.

    Das ist nicht unbedingt Ideal ;)
    Wenn man die Anzahl haben will, würde ich das mit SQL Mitteln lösen.
    SELECT SQL_CALC_FOUND_ROWS benutzername FROM benutzertabelle WHERE benutzername LIKE '".$wunschname."' LIMIT 1
    Und dann für die Menge:
    SELECT FOUND_ROWS()

    Anstatt des Benutzernamens würde ich persönlich nur die ID zurückgeben im ersten Query, das ist noch weniger Overhead.

  8. Anstatt des Benutzernamens würde ich persönlich nur die ID zurückgeben im ersten Query, das ist noch weniger Overhead.


    stimmt, nur ich wusste halt nicht ob er eine Spalte benutzerid hat xD
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!