Register/Login Probleme

  • Hallo liebe Community,


    Iich habe ein großes problem, ich bin gerade dabei mein erstes Register/Login System zu scripten, doch es will nicht so wirklich. Ich bin soweit das man sich registrieren kann. Dann wird auch ein Eintrag in der Datenbank erstellt. Aber wenn ich dann nochmal mit dem selben namen drauf joine dann bekomme ich wieder das Register Fenster und wenn ich das dann ausfülle, dann erstellt er noch einen Eintrag mit dem selben Namen. Was ja nicht sein darf. Mein Login ist noch nicht fertig aber das ist ja egal. Dann müsste einfach gar nichts passwieren. Aber wie schon gesagt bekomme das blöde Register Fenster wieder. langsam verzweifel ih sitze da seid 2 Tagen dran um diesen sch... Fehler zu finden.



    //define mysql
    #define db_host "127.0.0.1"
    #define db_user "root"
    #define db_db "samp"
    #define db_pass ""



    //globale variablen
    new dbhandle;



    //forwards
    forward OnUserCheck(playerid);



    public OnUserCheck(playerid)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==0)
    {
    //registrieren
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Herzlich Willkommen auf GameModeTest Reallife\nBitte Registriere dich.","Auswählen","Abbrechen");
    }
    else
    {
    //login
    }
    return 1;
    }



    public OnPlayerConnect(playerid)
    {
    //Login/Register
    new name[MAX_PLAYER_NAME],query[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'");
    mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
    return 1;
    }
    [/pwn}


    [pwn]
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == REGISTER)
    {
    if(response)
    {
    //wenn er sich registriert
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //wenn das pw 4 zeichen lang ist
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s')",name,passwort);
    mysql_function_query(dbhandle,query,false,"","");
    }
    else
    {
    //wenn das pw zu kurz ist
    SendClientMessage(playerid,rot,"Dein Passwort musst mindestens 4 Zeichen lang sein.");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Herzlich Willkommen auf GameModeTest Reallife\nBitte Registriere dich.","Auswählen","Abbrechen");
    }
    }
    else
    {
    //wenn er abbreche drückt
    SendClientMessage(playerid,rot,"Du musst dir einen Account erstellen um hier spielen zu können.");
    Kick(playerid);
    }
    return 1;
    }


    PS. Ich hoffe einer kann mir helfen. :wacko:


    MFG. GZUZ_187 :thumbup: