MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)

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
  • @ Nochmal zu meiner Frage Maddin :)


    Ich habe das Passwort jetzt einmal Hashen lassen, und ausgeben lassen und es kommt das richtige raus wenn ich das PW einmal hashen würde, jetzt
    habe ich das PW aber 2x direkt hintereinander mit MD5 gehasht, und da kommt halt wieder was falsches raus, weißt du vielleicht wie ich es machen könnte
    das er es 2x hintereinander einzelnt hasht, sprich zuerst


    new wertinputt = strval(inputtext);
    new wert = MD5_Hash(wertinputt);
    wert = Md5_Hash(wert);


    das will halt nicht gehen ;b Deshalb wolle ich fragen, ob du vielleicht ne ahnung hast, wie ich die einzelnt nacheinander Hashe...

  • xivo
    du musst "wert" auch als string angeben^^


    @Marci
    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])//so ist es richtig, hatte es am anfang falsch aber schon berichtigt im tut
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat; //Zeile 588
    }


    TheBestOne
    Zeig am besten mal deine Zeilen wo das PW überprüft wird.

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

  • Code
    C:\Users\Marcel\Desktop\gta_server\gamemodes\Test.pwn(607) : warning 208: function with tag result used before definition, forcing reparse
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Warning.


    in


    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])//so ist es richtig, hatte es am anfang falsch aber schon berichtigt im tut

  • Maddin, ich habe mein Problem herrausgefunden, meine Hashes wurde in Samp ständig nur Groß ausgegeben sprich die Buchstaben waren auch groß,
    jedoch ist die von meinem Board nicht in Groß dort sind die Buchstaben in klein, und wenn ich den Code nochmal hashe, habe ich bei den Großen Buchstaben
    etwas gaaaanz anderes als bei den kleinen, weißt du vielleicht wie ich die Buchstaben klein bekomme ?


    Sprich mein Board hats so :
    2c89109d42178de8a367c0228f169bf8




    Und mein Server gibts mir so aus :
    2C89109D42178DE8A367C0228F169BF8

  • xivo
    Mach einfach case sensitive aus beim vergleichen, dann sollte das gehen.


    @Marci
    Das heisst, das die Funktion schon verwendet wird obwohl sie erst später im script definiert wurde, setzt sie am besten ganz nach oben über die erste funktion.

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

  • So meinte ich das nicht Maddin :b


    Also wenn ich das Passwort 1x Hashe dann sieht es so aus :


    Server :
    2C89109D42178DE8A367C0228F169BF8



    Board :
    2c89109d42178de8a367c0228f169bf8



    ist ja noch nicht so tragisch, jedoch habe ich das Passwort ja doppelt gehasht, und wenn ich diese Hashes nochmal Hashe dann kommt das raus :


    Server :
    50f3bfbe3055153c85e8d078a8a5aa2d


    Board :
    229240afdfde814672dc366efdcbeaec


    [font='verdana']Und das ist der tragische unterschied, sprich das Problem liegt an dem groß / klein Hash.

  • Danke jetzt geht es :)


    ähm da habe ich noch ein Problem.. mit meinem Money System..


    Spawn
    SpielerInfo[playerid][pMoney] = mysql_GetInt("accounts", "Money", "Name", SpielerInfo[playerid][pName]);
    GivePlayerMoney(playerid,SpielerInfo[playerid][pMoney]);


    Load
    SpielerInfo[playerid][pMoney] = mysql_GetInt("accounts", "Money", "Name", SpielerInfo[playerid][pName]);


    Save
    mysql_SetInt("accounts", "Money", SpielerInfo[playerid][pMoney], "Name", SpielerInfo[playerid][pName]);


    CMD
    ocmd:setmoney(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdminlevel] >= 3)
    {
    new pID, money, string[128],string2[128],ziel[MAX_PLAYER_NAME],sender[MAX_PLAYER_NAME],string3[128];
    GetPlayerName(pID,ziel,sizeof(ziel));
    GetPlayerName(playerid,sender,sizeof(sender));
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(pID, pname, sizeof(pname));
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid, COLOR_GRAD2, "/setmoney [ID/NAME] [Money]");
    format(string,sizeof(string),"Du hast %d Geld Beckommen! Glückwunsch!",money);
    SendClientMessage(pID,COLOR_LIGHTBLUE,string);
    format(string3,sizeof(string3),"AdmCMD: %s hat %s, %d Geld gegeben!!",sender,ziel,money);
    SendClientMessage(playerid,COLOR_RED,string3);
    format(string2,sizeof(string2),"AdmCMD: %s hat %s, %d Geld gegeben!!",sender,ziel,money);
    print(string2);
    GivePlayerMoney(pID,money);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Entweder du bist kein Admin, oder du bist kein Level 3 Admin");
    }
    return 1;
    }


    In der Datenbank habe ich default auf 500.. Beim Spawn sind es 500.. Dann mache ich cmd dann habe ich 1500 in DB sind es immer noch 500


    lg Marci

  • meinst du vllt dashier


  • das ist alles was ich habe

  • Weil ich das Prob hatte von sha1 Wbb auf Md5 Wbb zu wechseln, und dann ging dies auch aber das Pw wurde nunmal doppelt gehasht, deshalb lasse ich das jetzt auch so, und möchte jetzt halt nur in Samp das PW doppelt gehasht haben ;b