Jeffry & Just.Me77 Register MySQL System erkennt den Account nicht

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
  • Just.Me77 Textdraw Login


    Ich habe diesen Code übernommen und habe folgendes Problem, der Account wurde erfolgreich erstellt. Aber sobald ich mich einloggen möchte, steht da erneut Regestrieren, obwohl der Name bereits in der Datenbank vorhanden ist.
    Ich hoffe Ihr könnt mir da auf die Sprünge helfen, da ich verzweifle wieso, weshalb und warum ?(?(


    public OnPlayerRequestClass(playerid, classid)
    {
    if(!GetPVarInt(playerid, "Logged"))
    {
    new query[128];
    mysql_format(handle, query, sizeof(query), "SELECT uID FROM account_list WHERE Name = '%e'", SpielerInfo[playerid][pName]);
    mysql_pquery(handle, query, "OnUserCheck", "i", playerid);
    }
    return 1;
    }


    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(playertextid == PlayerLoginTextDraw[playerid][0])
    {
    if(pRegistered[playerid] == true)
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmeldung", "Bitte logge Dich mit deinem Passwort ein:", "Anmelden", "Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration", "Bitte gebe ein Passwort für die Regestration ein:", "Regestrieren", "Abbrechen");
    }
    }
    return 0;
    }


    forward OnUserCheck(playerid);
    public OnUserCheck(playerid)
    {
    new rows;
    cache_get_row_count(rows);
    if(rows == 0)
    {
    PlayerIsNotRegistered(playerid);
    ShowLoginTextDraws(playerid);
    }
    else
    {
    PlayerIsRegistered(playerid);
    ShowLoginTextDraws(playerid);
    }
    return 1;
    }
    Ich habe das .inc eingefügt und habe auch keine Error bzw. Warnings....

  • setzt du die varaible auch irgendwo?
    pRegistered[playerid]


    Edit: schuldige ist im include drinne Mein Fehler
    Edit2:
    evt. Spalte anders genannt? also hier kein Fehler ja?
    mysql_format(handle, query, sizeof(query), "SELECT uID FROM account_list WHERE Name = '%e'", SpielerInfo[playerid][pName]);

  • Hier mal der ganze Code sowie ein Bild der Datenbank


  • Yut habe mir jetzt mal alles angeschaut und änder mal bitte dein OnUserCheck zu dem hier

    forward OnUserCheck(playerid);
    public OnUserCheck(playerid)
    {
    printf("rows %d",cache_num_rows());
    if(cache_num_rows() == 0)
    {
    print("11");
    PlayerIsNotRegistered(playerid);
    ShowLoginTextDraws(playerid);
    }
    else
    {
    print("12");
    PlayerIsRegistered(playerid);
    ShowLoginTextDraws(playerid);
    }
    return 1;
    }

    Anscheinend hatte er hier gemeckert

    new rows;
    cache_get_row_count(rows);


    aber da dir diese Funktion hier genau das gibt was du haben willst
    habe ich sie einfach mal ersetzt und es ging dann.
    die Funktion
    cache_num_rows()


    Mfg. Mogly1
    Edit: eingerückt