IP Adresse in der Datenbank Speichern !!!

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
  • Ich suche eine Möglichkeit um meine IP Adresse oder die von Jemanden anderem in meine Datenbank zu Speichern. Mit folgendem Befehl erstelle ich meine Tabellen:


    stock CreateTables()
    {
    new sql[800];
    mysql_format(m_connect,sql,"CREATE TABLE IF NOT EXISTS `accounts`(`Name` varchar(16) NOT NULL,`Password` varchar(129) NOT NULL,`Age` int(3) NOT NULL,`Country` varchar(20) NOT NULL,`Level` int(10) NOT NULL,`Admin` int(10) NOT NULL,`Donate` int(2) NOT NULL,`Gender` varchar(10) NOT NULL,`Money` int(22) NOT NULL,`Bank` int(22) NOT NULL,`X` float NOT NULL,`Y` float NOT NULL,`Z` float NOT NULL");
    mysql_format(m_connect,sql,"%s,`VW` int(6) NOT NULL,`Interior` int(3) NOT NULL,`Rank` int(2) NOT NULL,`Fraction` int(2) NOT NULL,`Carlic` int(1) NOT NULL,`Bikelic` int(1) NOT NULL,`Planelic` int(1) NOT NULL,`LKWlic` int(1) NOT NULL,`Helilic` int(1) NOT NULL,`Health` float NOT NULL,`Armour` float NOT NULL,`Ban` int(1) NOT NULL, `IP` int(85) NOT NULL)",sql);
    mysql_function_query(m_connect,sql,false,"","");
    return 1;
    }



    Das klappt alles wunderbar, in den enum habe ich auch die Variable mit eingebaut für die IP:


    enum pStats
    {
    pName[16],
    pPassword[129],
    pAge,
    pCountry[20],
    pLevel,
    pAdmin,
    pDonate,
    pGender[10],
    pMoney,
    pBank,
    Float:pPosX,
    Float:pPosY,
    Float:pPosZ,
    pVW,
    pInt,
    pRank,
    pFraction,
    pCarlic,
    pBikelic,
    pPlanelic,
    pLKWlic,
    pHelilic,
    Float:pHealth,
    Float:pArmour,
    pBan,
    pIP,
    }


    Das klappt auch alles, nun bleibt noch die Frage, wie mache ich es, das ich vom Player die IP bekomme und das dann in die Datenbank Schreibe ?!?! Eventuell ein neuer Stock ?

  • Bekomme ich leider nicht hin, kannst du mir die Lösung für das Problem hier hin Schreiben ?


    public OnPlayerConnect(playerid)
    {
    new plrIP[16];
    new Query[200];
    SendClientMessage(playerid,-1,"Willkommen auf dem Server");
    mysql_format(m_connect,Query,"SELECT * FROM `accounts` WHERE `Name` = '%s'",PlayerName(playerid));
    mysql_function_query(m_connect,Query,true,"OnPlayerCheckAccount","i", playerid);
    if(PlayerInfo[playerid][pBan] == 1)return Kick(playerid);
    GetPlayerIp(playerid, plrIP, sizeof(plrIP));
    return 1;
    }


  • Versuche es mal so.

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward