Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Reload Tabelle -> INET_ATON()

  1. #1
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717

    Reload Tabelle -> INET_ATON()

    Was mir grad noch einfällt was immer nervig ist nachträglich machen zu müssen, wär praktisch, wenn das Grundscript schon gleich die IP Adressen als Zahl in der Datenbank behandeln würde, dementsprechend die topframe_forced.php und die content/verdienen/klick4.php angepasst wäre.

    Nur mal so als Anhaltspunkt:

    [tableold=head]|Größe in KiloByte|Anzahl Einträge
    vorher:|6.316,84|53.750
    nachher:|3.386,08|53.458[/tableold]

    Man kann da also mächtig einsparen, nicht nur an Platz, sondern auch an Geschwindigkeit gewinnen, da ein Index auf Zahlen einfach schneller durchsucht werden kann.

    --

    Code:
    CREATE TABLE IF NOT EXISTS `vms_reloads` (
      `ip` int(11) UNSIGNED NOT NULL default '0',
      `uid` int(7) NOT NULL default '0',
      `tan` varchar(32) NOT NULL default '',
      `bis` int(10) NOT NULL default '0',
      KEY `klick4` (`tan`,`uid`,`ip`)
    ) ENGINE=MyISAM;
    für umsteiger:
    Code:
    ALTER  TABLE  `vms_reloads`  CHANGE  `ip`  `ip` INT( 11  ) UNSIGNED NOT  NULL
    ##

    topframe_forced.php
    Code:
    ON (t1.tan=t2.tan AND (t2.uid=".$_SESSION['uid']." or t2.ip=INET_ATON('".$ip."') ))
    ...
    PHP-Code:
    db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES (INET_ATON('".$ip."'),".$_SESSION['uid'].",'".$forced['tan']."',".$new_reload.")"); 
    ##
    content/verdienen/klick4.php
    Code:
    ON (t1.tan = t2.tan AND (t2.uid = '.$_SESSION['uid'].' OR t2.ip = INET_ATON("'.$ip.'") ) AND t2.bis >= '.time().')
    Also eh nur minimale Veränderungen mit denk ich doch recht großem Effekt.

    Gibt zwar dann natürlich Probleme mit den Addons, die darauf Aufbauen (Paidlink Bereich, Highforced-Bereich usw.) da der "Umbau" dort aber auch mit 2 kleinen Änderungen zu machen ist, kann man ja darauf einfach in der readme.txt verweisen

    Btw: lässt sic auch in laufendem Betrieb gut umstellen, indem man
    1. die Änderungen in den Dateien macht und erst dann
    2. den SQL Query :
    Code:
    UPDATE vms_reloads SET ip = INET_ATON(ip)
    ausführt und erst dann
    3. den obigen alter table query ausführt
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  2. #2
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Im Prinzip guter Vorschlag hatte ich auch schon dran gedacht, aber es gibt sehr viele Addons welche auch die vms_reloads nutzen, diese wären dann alle erst einmal inkompatibel.
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  3. #3
    Erfahrener Benutzer Avatar von eRaaaa
    Registriert seit
    06.06.2007
    Beiträge
    702
    ich hatte das vor einiger zeit auch schon ansprechen wollen, weil ich auf phpperformance im blog (http://phpperformance.de/ip-adressen-optimal-speichern/) das schon gelesen hatte. gerade auch bei dem ländercode addon würd ichs umstellen...

  4. #4
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Man köntne es so machen, dass man gleich schon in der functions.lib.php in der Variable
    $ip
    den "long" Wert speichert, somit müsste man in den Addons etc. nichts anpassen.

    Außer wenn es dann wiederum Addons gibt, die auf $ip zugreifen und das in eigenen Tabellen verwenden, wobei dann halt in varchar(15) nur die zahl gespeichert wird, was aber ja immerhin funktioniert (wenn auch platzverschwendung ist)

    Also in der functions.lib.php dann:

    PHP-Code:
    $ip             sprintf("%u"ip2long($_SERVER['REMOTE_ADDR'])); 
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  5. #5
    Erfahrener Benutzer Avatar von DJschatz27
    Registriert seit
    19.12.2009
    Beiträge
    617
    Tach ne frage gibts hierzu noch eine andere Lösung

    weil ich habs eben mal getestet aber dann bin ich wegen der ip fürs klicken gesperrt oder was muß man alles ändern?

  6. #6
    Erfahrener Benutzer Avatar von Hardy
    Registriert seit
    24.01.2007
    Beiträge
    2.235
    Vielleicht INET_ATON() aus der klickdatei entfernen

  7. #7
    Erfahrener Benutzer Avatar von DJschatz27
    Registriert seit
    19.12.2009
    Beiträge
    617
    Danke aber das möchte nicht naja weil möchte gerne das die seite schneller aufgerufen werden kann weil mir das vor kommt als es zu langsam ist weiß ja nicht wo man noch alles optimieren kann aber für tipps bin ich immer zu haben

  8. #8
    Erfahrener Benutzer Avatar von hankfromhelvete
    Registriert seit
    26.04.2007
    Beiträge
    633
    Zitat Zitat von DJschatz27 Beitrag anzeigen
    [...] möchte gerne das die seite schneller aufgerufen werden kann [...]
    Du kannst diverse db_querys bzw. ganze Boxen/Seiten cachen. Tutorial findest du hier.

  9. #9
    Erfahrener Benutzer Avatar von DJschatz27
    Registriert seit
    19.12.2009
    Beiträge
    617
    Danke für den Tip hatt ich noch nicht drin

  10. #10
    Neuer Benutzer
    Registriert seit
    29.08.2006
    Beiträge
    23
    Hallo
    wie weit sollten dabei IPv6 Beachten werden ?
    die php funktion kann es leider nicht
    Gruß

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Tabelle Gebuchte_Werbung
    Von wowfreak im Forum [HD] Programmieren
    Antworten: 1
    Letzter Beitrag: 11.05.2012, 21:48
  2. [SQL] Spalte von Tabelle A in Tabelle B kopieren
    Von danny888 im Forum [HD] Programmieren
    Antworten: 3
    Letzter Beitrag: 14.02.2010, 17:20
  3. Tabelle verbreitern
    Von deniz im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 21.02.2009, 12:54
  4. Tabelle in Post
    Von Hardy im Forum Support zum VMSone
    Antworten: 5
    Letzter Beitrag: 09.01.2009, 18:34
  5. In der Tabelle IDs neu ordnen
    Von FlexMax im Forum [HD] Programmieren
    Antworten: 8
    Letzter Beitrag: 24.10.2008, 14:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •