Seite 1 von 1
phpbb_sessions.session_ip rauslesen bzw mit ip vergleichen
Verfasst: 01.02.2005 16:22
von dr_Alex
also folgendes problem. ich hab eine ip und möchte wissen wann und welcher user mit dieser ip auf den forum war.
wie kann ich die ip die ich habe, bzw wie muss ich die "kodieren" damit ich einfach in einer SQL Where anweisung die daten rausholen kann.
Verfasst: 01.02.2005 16:30
von marino
du willst über die DB erfahren welcher user mit welcher IP bei dir im board war ?
da brauchst du dir ja nur die sessions-tabelle anschaun da werden die ips und die dazugehörigen user-ids abgelegt
Verfasst: 01.02.2005 17:08
von QCO
Also wenn du nur die IP hast, funktioniert das nur eingeschränkt.
Vorrausgesetzt, der gesuchte Benutzer hat einen Beitrag gepostet, bekommst du den mittels
Code: Alles auswählen
$search_ip = '127.0.0.1';
$sql = "SELECT u.*, p.post_time FROM " . POSTS_TABLE . " p LEFT JOIN " . USERS_TABLE . " ON p.poster_id = u.user_id WHERE p.poster_ip = " . encode_ip($search_ip)
Falls der Nutzer noch im Board ist, kannst du ihn mittels
Code: Alles auswählen
$search_ip = '127.0.0.1';
$sql = "SELECT u.*, s.session_time FROM " . SESSIONS_TABLE . " s LEFT JOIN " . USERS_TABLE . " ON s.session_user_id = u.user_id WHERE s.session_ip = " . encode_ip($search_ip)
finden.
Wenn der Nutzer allerdings nicht gepostet hat und bereits wieder gegangen ist, hat er keine Spuren hinterlassen, denn phpbb legt keine allgemeinen Logfiles an.
Dann müsstest du dich am Log deines Webservers versuchen.
Verfasst: 01.02.2005 17:29
von dr_Alex
ok ich bedanke mich. hat geklapt was ich wollte hab einfach:
Code: Alles auswählen
<?
echo encode_ip("111.111.111.111");
function encode_ip($dotquad_ip)
{
$ip_sep = explode('.', $dotquad_ip);
return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
}
?>
verwendet