Register und Login sind verbugt ka wie entbugen soll oO

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    Nun hab ich mal ein klizi kleines problemchien, dass mit dem MySQL hab ich hinbekommen und nun spient aber immer noch mien Register und mein Login rum also ich geb euch mal die codes


    aber als erstes hier mal ne info


    Wen man register eingibt hab ich es so gemacht das es mindestesn 5 zeichen sein sollen aber man kann weder 5 zeichen noch drunter noch drüber und wen man dan einen befehl zb man gibt /register ein und danach einen anderren befehl kommt das man sich registrit hat dan schau ich in die DB dan is der befehl mit register
    zum anderren können die leute einfach spawnen ohne sich zu regi das will ich nicht


    dan beim log in wen man /login eingibt kommt immer das ich schon register bin soll mich bitte einloggen die ganze zeit hier mal die codes jetzt ^^


    new cmd[128];
    new str[100];
    if(strcmp(cmd, "/register", true) == 0)
    {
    new password[14], tmp[128], RPassword[14];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,ADMIN_RED,"Gib /register <Passwort> ein, um dich zu registrieren!");
    return 1;
    }
    password[13] = strval(tmp);
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP));
    if(MySQLCheckUserExistance(playerid))
    {
    SendClientMessage(playerid,ADMIN_RED,"Dein Nickname ist bereits registriert, bitte log dich doch ein.");
    return 1;
    }
    if(strfind(tmp, ">", true) != -1 || strfind(tmp, "<", true) != -1)
    {
    SendClientMessage(playerid,ADMIN_RED,"Falsches Zeichen im Passwort");
    return 1;
    }
    if(strlen(tmp) > 5)
    {
    SendClientMessage(playerid,ADMIN_RED,"Dein Passwort kann nicht länger als 5 Zeichen sein!");
    return 1;
    }
    samp_mysql_real_escape_string(tmp, RPassword);
    format(query, sizeof(query), "INSERT INTO `users` (`reg_id`, `name`, `password`, `admin_level`, `IP`) VALUES ('0', '%s', '%s', '0', '%s')",PlayerName,RPassword,PlayerIP);
    samp_mysql_query(query);
    format(query, sizeof(query), "SELECT `reg_id` FROM `users` WHERE `name` = '%s'", PlayerName);
    samp_mysql_query(query);
    samp_mysql_store_result();
    if(samp_mysql_num_rows() == 0)
    {
    format(str, sizeof(str), "Kann nicht in die Datenbank %s schreiben", MYSQL_DB);
    SendClientMessage(playerid, COLOR_RED, str);
    return 1;
    }
    PlayerInfo[playerid][Admin] = 0;
    SendClientMessage(playerid,ADMIN_GREEN,"Du hast dich erfolgreich Registrirt, bitte log dich mit /login ein.");
    return 1;
    }
    //-------------------------// Login // ---------------------------------
    if(strcmp(cmd, "/login", true) == 0)
    {
    new password[14], tmp[128];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,ADMIN_RED,"Du bist Nun eingeloggt!");
    return 1;
    }
    password[13] = strval(tmp);
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP));
    if(PlayerInfo[playerid][Logged] == 1)
    {
    SendClientMessage(playerid,ADMIN_YELLOW,"Du bist bereits eingeloggt!");
    return 1;
    }
    if(!MySQLCheckUserExistance(playerid))
    {
    SendClientMessage(playerid,ADMIN_RED,"Du bist noch nicht registriert, bitte registriere dich mit /register <Passwort>.");
    return 1;
    }
    format(query, sizeof(query), "SELECT * FROM `users` WHERE `name` = '%s'", PlayerName);
    samp_mysql_query(query);
    samp_mysql_store_result();
    samp_mysql_fetch_row(line);
    new passwd[14];
    samp_mysql_get_field("password", passwd);
    if(strcmp(tmp, passwd, true) != 0)
    {
    if(PlayerInfo[playerid][FalseLogins] < 3)
    {
    PlayerInfo[playerid][FalseLogins] = PlayerInfo[playerid][FalseLogins] + 1;
    format(str, sizeof(str), "Fehler: %s ist das falsche Passwort für den Account %s! (Warnung: Falsches Passwwort %d/3)", tmp, PlayerName, PlayerInfo[playerid][FalseLogins]);
    SendClientMessage(playerid, ADMIN_RED, str);
    }
    else
    {
    PlayerInfo[playerid][FalseLogins] = 3;
    format(str, sizeof(str), "Fehler: %s ist das falsche Passwort für den Account %s! (3/3 Warnung: Falsches Passwort voll)", tmp, PlayerName);
    SendClientMessage(playerid, ADMIN_RED, str);
    SendClientMessage(playerid, ADMIN_RED,"KICK: 3 falsche Loginversuche");
    Kick(playerid);
    }
    return 1;
    }
    SendClientMessage(playerid,ADMIN_GREEN,"Du hast dich erfolgreich eingeloggt.");
    PlayerInfo[playerid][Logged] = 1;
    samp_mysql_get_field("money", str);
    GivePlayerMoney(playerid, strval(str));
    samp_mysql_get_field("admin_level", str);
    PlayerInfo[playerid][Admin] = strval(str);
    samp_mysql_get_field("times_logged", str);
    PlayerInfo[playerid][TimesLogged] = strval(str);
    PlayerInfo[playerid][TimesLogged] += 1;
    new smail[60];
    samp_mysql_get_field("email", smail);
    format(query, sizeof(query), "UPDATE `users` SET `times_logged` = '%d' WHERE `name` = '%s'", PlayerInfo[playerid][TimesLogged], PlayerName);
    samp_mysql_query(query);
    return 1;
    }


    Hoffe auf hilfe ^^

    Der Server: [GRG]Grand Racing Game wurde 2014 Eingestampft.
    Weitere Infos: Klick Mich

  • Zur info.
    if(strlen(tmp) > 5)
    {
    SendClientMessage(playerid,ADMIN_RED,"Dein Passwort kann nicht länger als 5 Zeichen sein!");
    return 1;
    }

    Heist soviel wie, wenn größer als 5 Befehl abrechen.
    Du schreibtest aber Oben, das es minimum 5Sein sollen, hier ist genau das Gegenteil.

  • es geht aber beides nicht oO
    //edit
    hab es in mein script auf 10 hoch gemacht trozdem gilt nohc das was da oben sthet es geht beides nicht weder nidriger noch höher


    //edit keiner ne idee wie ich die bugs weg krigen :(

    Der Server: [GRG]Grand Racing Game wurde 2014 Eingestampft.
    Weitere Infos: Klick Mich

    Einmal editiert, zuletzt von [GRG]Linux ()