Login System geht nicht richtig?

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
  • Hey Leute wen ich mir beim login system das pw: z.b. : alfred1456 nehme brauche ich nur das a einzugeben und ich bin eingeloggt :/ woran kann es liegen?


    Hier der code:


    #define DIALOG_REGISTER 2
    #define DIALOG_LOGIN 3


    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    new string5[124];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    format(string,sizeof(string),"Name: %s\n\nDein Account wurde gefunden. Gib bitte das Passwort ein!",SpielerName(playerid));
    if(dini_Exists(Spielerdatei))
    {
    format(string5,sizeof(string5),"Name: %s\n\nDein Account wurde gefunden. Gib bitte das Passwort ein!",SpielerName(playerid));
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"EastCoast Login",string5,"Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"EastCoast Registrieren","Forum: gtaec.net\n\nGib bitte das gewünschte Passwort ein!:","Register","Abbrechen");
    }

    return 1;
    }


    //Dialog Login
    if(dialogid==DIALOG_LOGIN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.Somit wurdest du vom Server gekickt!");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,ROT,"Das Passwort war nicht lang genug.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"EastCoast Login","Forum: gtaec.net\n\nDein Account wurde gefunden! Gib bitte dein Passwort ein.","Login","Abbrechen");
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }


    //Dialog Register
    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"EastCoast Registrieren","Forum: gtaec.net\n\nDein Account wurde nicht gefunde! Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_GESCHLECHT,DIALOG_STYLE_MSGBOX,"Geschlecht","Wähle dein Geschlecht aus!","Weiblich","Männlich");
    Register(playerid,inputtext);
    return 1;
    }
    }
    }


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,BLAU,"!=======================EastCoast REALIVE Register=======================!");
    SendClientMessage(playerid,BLAU,"Du hast dich Efolgreich Registriert, viel Spaß auf EastCoast Reallife.");
    SendClientMessage(playerid,BLAU,"Bitte Registriere dich noch in unserem Forum! Dein EastCoast Team.");
    SendClientMessage(playerid,BLAU,"!=======================EastCoast REALIVE Register=======================!");
    SetPlayerScore(playerid,0);
    pFirstLog[playerid] = true;
    SetPVarInt(playerid,"loggedin",1);
    SetPVarInt(playerid,"Respekt",0);
    dini_IntSet(Spielerdatei,"MaxRespekt",4);
    dini_IntSet(Spielerdatei,"Skin",137);
    dini_IntSet(Spielerdatei,"Paytime",60);
    SpielerSpeichern(playerid);
    ShowPlayerDialog(playerid,DIALOG_GESCHLECHT,DIALOG_STYLE_MSGBOX,"Geschlecht","Wähle dein Geschlecht aus!","Weiblich","Männlich");
    return 1;
    }


    stock Login(playerid,key[])
    {
    new stringnews[1700];
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(stringnews,sizeof(stringnews),"{FEFEFE}Herzlich Willkommen auf unseren Server.\n\n\n\nWie ihr sicher wisst, ist unser Server noch in der Test und Aufbauphase.\nEs kann vorkommen, das ihr Bugs forfindet, bitte meldet die unter [{05FF00}FloHermsmeier@hotmail.com{FAFAFA}].\n\n\n\nSolltet ihr Probleme - Fragen haben, einfach /report\n\n\n{FF1E00}NEWS{FAFAFA}:\nIhr könnt ab jetzt eine 10€ paysafecard zu 1000000Dollar umwandeln");
    ShowPlayerDialog(playerid, SOGMOTD, DIALOG_STYLE_MSGBOX, "EastCoast Infos {0FFF00}EastCoast{FEFEFE}",stringnews,"Ok","");
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);


    if(gettime()<dini_Int(Spielerdatei,"timeban"))
    {
    SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
    Kick(playerid);
    return 1;
    }


    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,BLAU,"Du hast dich Erfolgreich Eingeloggt, viel Spaß auf EastCoast Reallife.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Falsches Passwort.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    return 1;
    }
    }

  • Hier ist der Fehler:


    if(!strlen(inputtext))
    ...
    else
    {
    Login(playerid,inputtext);
    return 1;



    Du schaust lediglich, ob der inputtext mindestens eine Länge von 1 hat und loggst dann ohne weitere Prüfung ein.