Bitte um hilfe bei meiner acc register page

  • habe da ein kleines problem mit meiner acc register page
    hoffe mir kann da wer behilflich sein
    ich selbst habe nicht wirklich viel ahnung in sachen php :?

    zur zeit sieht es so aus wenn ich einen acc erstelle schaut er in die db ob der username schon existiert
    dieses möchte ich auch für die e-mail adresse machen
    und das er durchsucht ob die ip schonmal benutzt wurde
    also man soll maximal einmal die selbe e-mail benutzen können und maximal 2 mal die selbe ip
    ist das möglich?
    hoffe mir kann hier wer helfen


    also meine sql datenbank sieht so aus

    Zitat

    INSERT INTO accounts
    (`acct`, `login`, `password`, `gm`, `banned`, `lastlogin`, `lastip`, `email`, `flags`)
    VALUES
    (18, 'test', 'test', '', 0, "9/29/2007 16:24:59", 'xx.xxx.xxx.xx', 'xxxx@xxxxxx.de', 8);

    so und hier der php code für die page

    mfg Totatis

  • Habs zwar nicht getestet aber müsste so funktionieren

    lg Knackwurst

  • erstmal danke schön für diese schnelle antwort

    habe es gerade getestet aber er gibt mir

    Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\stats\register.php on line 49

    also da funzt noch irgend wat net so ganz *gg*

    sorry bin nicht so gut bewandert in sachen php scripting desshalb dachte ich ja auch ich such mir mal im forum hilfe
    liegts vllt darann das ich nciht alle dazugehörigen dateien mit gepostet habe?


    EDIT:
    habe jetzt mal nur deinen code
    in meins engefügt

    Zitat

    //
    // Abfrage ob EMail bekannt
    //

    $query = "SELECT `email` FROM `accounts` WHERE `login` = '".mysql_real_escape_string($_POST['login'])."'";
    $res = mysql_query($query, $db);
    if (!$res) return $error[] = 'Database: '.mysql_error();
    if (mysql_num_rows($res) > 0) return $error[] = 'E-Mail already in use.';

    nun funktioniert zwar wieder die seite aber ich kann trozdem die selbe email doppelt benutzen XD

  • da fehlt dir in zeile 49 ein "

  • Sorry bin grad draufgekommen das ich ne falsche sql anweisung verwendet habe

    Code
    //
    // Abfrage ob EMail bekannt
    //
    
    
          $query = "SELECT `email` FROM `accounts` WHERE `email` = '".mysql_real_escape_string($_POST['email'])."'";
           $res = mysql_query($query, $db);
           if (!$res) return $error[] = 'Database: '.mysql_error();
           if (mysql_num_rows($res) > 0) return $error[] = 'E-Mail already in use.';

    Probier das mal aus.

  • Mach in der DB auf die Spalte mit der Mail-Adresse bzw. IP eine Unique Constraint, je nach dem was eindeutig sein muss! Dann hättest du das Problem auch gelöst, und wie ich meine, sehr viel einfacher!

    Paddys, hm.....

  • Mach in der DB auf die Spalte mit der Mail-Adresse bzw. IP eine Unique Constraint, je nach dem was eindeutig sein muss!

    Angesichts dynamisch vergebener IP-Adressen macht ein Unique Constraint für die IP-Adresse wenig Sinn.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!