IP Split 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
  • Morgen zusammen


    Ich habe ein kleines Problem
    wenn ich meine IP Splitte, gibt er den richtigen wert in der Console aus
    Aber wenn ich jetzt was in der Datenbank speichern möchte, dann macht er mir da irgendein mist hinter
    hier mal der Stock:
    stock SplitIp(Ip[])
    {
    new z = strfind(Ip, ".", true), cutter[6];
    if(z != -1)
    {
    strdel(Ip, z, z+1);
    new y = strfind(Ip, ".", true);
    strins(Ip, ".", z, 1);
    strmid(cutter, Ip, 0, y+2, strlen(Ip));
    }
    return cutter;
    }
    das Speichert er mir in die Datenbank:
    127.0.100993057C04DA7B14CF3D5FD7
    eigendlich soll er ja nur das 127.0. eintragen aber das will nicht so
    Ich versteh nicht wiso habe die Tabelle auf VARCHAR eingestellt


    Ich hoffe mal, das einer hier helfen kann

    All in all it's just another brick in the wall

  • Die Funktion ist ja auch total umständlich gemacht :/. Total umständliche Lösung wo ich auf den ersten Blick nicht mal wirklich durchblick(t)e.
    Es wird erst der Erste Punkt "." aus der IP gelöscht und nachträglich wieder eingefügt, was ist das denn für ein Quatsch :wacko: .


    Zitat

    Ich versteh nicht wiso habe die Tabelle auf VARCHAR eingestellt


    Auf was denn sonst ? Varchar oder Text ist für eine IP schon logisch.


    Spoiler anzeigen

    Hier eine Lösung die man auch versteht:
    stock SplitIP(const IP[]) {
    new
    i,
    j,
    split[] = "XXX.XXX. ";
    i = strfind( IP , "." );
    j = strfind( IP , "." , .pos = i + 1 );
    if( i != -1 && j != -1 ) {
    strmid( split , IP , 0 , j + 1 );
    }
    return split;
    }

  • Stell Dein Datenbankfeld auf "TEXT" ein, und dann sollte das eintragen kein Problem sein ;) (Natürlich auch als String speichern und nicht als Integer / Dezimale)

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)