MySQL Login Problem

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
  • Guten Abend Community,


    Ich wollte euch hier mal fragen wie ich nun mein MySql Login und Register System zum laufen bringe.


    Also, ich bin nach diesem tutorial gegangen.


    Klick


    Jedoch komm ich ing, und da passiert nichts, kann mir einer sagen was ich bei phpmyAdmin welche tabellen ich erstellen soll.


    Wäre nett wenn mir einer helfen würde.


    lg


    pS

  • Tabellen ?
    Kommt darauf an :D
    Du ahst zum beispiel ein SPieler enum wie dieses hier
    enum SInfo
    {
    Firma,
    Adminlevel
    };
    new SpielerInfo[MAX_PLAYERS][SInfo];
    Dann brauchst du Insgesamt 4 tabellen :D
    Eine für Firma -> Adminlevel -> Name -> Passwort


    Hoffe du hast es verstanden :)


    lg

  • Leute dumm bin ich nicht xD, Ich habe es jetzt so.


    Name varchar
    Passwort varchar
    Skin tinyint
    Geld tinyint
    Stunden varchar


    Jetzt stelle ich mein Script noch schnell drauf ein :D



    lg


    pS

  • Okay danke für deine Hilfe, ich änder mal .


    //edit
    Er zeigt mir mein Dialog nicht an :D.


    Hier der connect Bereich.


    new bedienung[256];
    new playername[256];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(bedienung,sizeof(bedienung),"Nickname=%s",playername);
    new daten[256];
    if(mysqlget("players",bedienung,"Passwort",daten))//abfrage es gibt true zurück oder false variable daten ist unwichtig
    {
    SendClientMessage(playerid,COLOR_SUCCESSFUL,"Du hast bereits einen Account");
    ShowPlayerDialog(playerid,3,1,"Loginsystem","Du hast bereits einen Account \n Bitte logge dich ein!","Abbrechen","Login!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_ERROR,"Du hast noch keinen Account");
    ShowPlayerDialog(playerid,1,1,"Loginsystem","Du hast noch keinen Account \n Bitte gebe dein Passwort ein!","Abbrechen","Bestätigen!");
    }


    Kann es daran liegen das ich die falschen Tabellennamen angegeben habe?
    Tabelle heißt, "userdaten"


    lg


    pS

    Einmal editiert, zuletzt von PasMod ()

  • Steht in deiner Mysql Tabelle bei jedem Namen "Nickname=blablabla"?
    Denn wenn nicht, solltest du abfragen ob in der spalte Name einfach "Name" steht ^^(Oder ich versteh nicht ganz was du da machst....)


    und übrigens kenne ich mysql abfragen eher so:
    format(String, sizeof(String), "SELECT * FROM Players WHERE Name = '%s'",PlayerName(playerid));
    mysql_query(String);

  • http://pastebin.com/vLRmAwg6


    Hier, es ist aus dem Tutorial kopiert.


    //edit


    ich versuchs nochma


    //edit


    Wie benutze ich diese Abfrage??



    if(mysqlget("userdata",bedienung,"Passwort",data))


    //edit


    Hier des hab ich aus dem Server Log.


    SQL
    Run time error 19: "File or function is not found"


    lg


    pS

    Einmal editiert, zuletzt von PasMod ()

  • Zur abfrage ob ein Account existiert oder nicht würde ich es lieber so machen:
    stock mysql_CheckAccountByName(Name[])
    {
    new Query[128];
    format(Query, sizeof(Query), "SELECT * FROM `DEINE_TABELLE` WHERE `Nickname` = '%s'", Name); //Nicht vergessen das zu ändern !
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows() == 0) return 0;
    if(mysql_num_rows() == 1) return 1;
    else return 2;
    }
    gibt 0 zurück wenn kein Account mit dem namen gefunden wurde
    gibt 1 zurück wenn ein account mit dem namen gefunden wurde
    oder gibt 2 zurück wenn ein Account doppelt existiert (benutze ich zur überprüfung, brauchste aber eig nicht)


    Kannste dann z.b so benutzen:
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(mysql_CheckAccountByName(playername) == 0)
    {
    //Account existiert nicht blabla register dialog oder was auch immer
    }
    else if(mysql_CheckAccountByName(playername) == 1)
    {
    //Account existiert blabla login dialog oder was auch immer
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Ich bin völlig durcheinander gekommen :D


    Also, ich habe das Tut von zabu nachgemacht und es funk nicht, woran das lag kA.


    Jetzt weis ich net was ich machen soll :D


    Kann mir einer einen Blank Gamemode machen, dass ich eben nur die daten einsetzen muss um daraus zu lernen.


    lg


    pS