Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Fehler beim IP speichern
#1
Hallo zusammen,
ich schraube aktuell an einen Plugin, wo es extrem wichtig ist, dass die IP gespeichert wird...
Mein Problem ist, dass es an der einen Stelle super funktioniert, an der anderen gar nicht. Ich kann mir das nicht so ganz erklären.
Die stelle die Funktioniert wird über $db->insert_query gesteuert. Die andere ein wenig komplizierter...


PHP-Code:
$db->write_query("
            INSERT INTO
            "
.TABLE_PREFIX."MEINE_TABELLE (FELDER,ipaddress,dateline)
            VALUES "
.$sqlinserts."
            "
); 
Das wäre mein Query. Die Variable $sqlinserts beinhaltet mehrere meherere Inserts, heißt mit dem query werden dann X Einträge in der DB erstellt. An sich funktioniert es auch, sofern ich die IP-Adresse herauslasse. Meine IP-Adresse wollte ich so in die Variable mit speichern:

$ip = $db->escape_binary($session->packedip);

Die Variablen $db und $session sind globalisiert, so dass ich darauf zugreifen kann. Nun habe ich in einem anderen Plugin gesehen, dass dieser Codeteil vorweggesetzt war:
$mybb->binary_fields["TABELLENNAME"] = array('ipaddress' => true);

Auch damit habe ich es versucht. Leider kein Erfolg. Das DB-Feld ist als varbinary(15) erstellt worden.

Habt ihr so noch einen Tipp für mich warum das nicht geht? Die MyBB Fehlermeldung (hab gerade keine da) zeigt mir an, dass die Funktion nicht so ganz lief. Statt der IP wird erst ein X gezeigt. 'X'IP'',dateline

Lieben Gruß!
Zitieren
#2
Die Angabe des Felds in $mybb->binary_fields ist wichtig, sonst werden die IPs bei insert_query und update_query falsch behandelt.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren