Seite 1 von 1
User nach absturz ändern
Verfasst: 27.08.2004 16:12
von jörg gierth
Hi,
ich hatte gestern ein problem mit der Datenbank.
Nach dem ich die Tabelle optimiert habe , sind nun user
verschwunden.
Wie kann cih nun an Hand der IP-Adresse die User in der
Datenbank finden???
ich sehe hier alles verschlüsselt.
gruß Jörg
Verfasst: 27.08.2004 17:16
von Leuchte
Was willst du mit der IP wenn User weg sind? Den Zusammenhang versteh ich nicht.
Hast du ein Backup von vor dem Absturz?
Verfasst: 27.08.2004 17:22
von jörg gierth
Der User ist nicht weg, sondern der Account
wurde durch DB-Maintance einfach gelöscht,
und der Provider hat nur eine unvollständige Sicherung.
Ich möchte nun in der Datenbank nach der IP-Adresse suchen und
die Poster_ID ändern.
Jörg
Verfasst: 27.08.2004 17:29
von Leuchte
Aso, wird der User jetzt als Gast angezeigt?
Wenn noch der Name des Users dabeisteht (also meinetwegen
Leuchte
Gast
)
könntest du den MOD:post_reassign Mod nutzen.
Verfasst: 27.08.2004 17:32
von jörg gierth
Leider net, da steht nur überall ne -1 für Gast drin.
Keine Ahnung was da gestern los war.
Jörg
Verfasst: 27.08.2004 17:35
von Leuchte
Dann wirds komplizierter. Der MOD:post_reassign Mod kann auch Gastbeiträge vorhandenen Usern zuweisen, dann werden aber alle Beiträge die von Gästen (bzw. Ex-Mitgliedern) geschrieben wurden, zugeordnet. Wenn es also nur Gastbeiträge von diesem User geben würde, könntest du ihn dennoch nutzen (Methode 2). Ansonsten gibt es noch den Change User Mod (Forumsuche nutzen) der quasi das selbe macht, aber dort für einzelne Beiträge. Wenn der User also nur 10 Beiträge geschrieben hat, wäre das eine Möglichkeit, ansonsten wohl zu mühselig.
Verfasst: 28.08.2004 00:23
von jörg gierth
In der Forumssuche kann cih aber nicht nach IP-Adressen suchen,
oder gibt es hierfür ein Mod???
Ich habe etwas in der Modcp.php gefunden:
Code: Alles auswählen
// Look up relevent data for this post
$sql = "SELECT poster_ip, poster_id
FROM " . POSTS_TABLE . "
WHERE post_id = $post_id
AND forum_id = $forum_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get poster IP information', '', __LINE__, __FILE__, $sql);
}
if ( !($post_row = $db->sql_fetchrow($result)) )
{
message_die(GENERAL_MESSAGE, $lang['No_such_post']);
}
$ip_this_post = decode_ip($post_row['poster_ip']);
$ip_this_post = ( $rdns_ip_num == $ip_this_post ) ? gethostbyaddr($ip_this_post) : $ip_this_post;
$poster_id = $post_row['poster_id'];
$template->assign_vars(array(
'L_IP_INFO' => $lang['IP_info'],
'L_THIS_POST_IP' => $lang['This_posts_IP'],
'L_OTHER_IPS' => $lang['Other_IP_this_user'],
'L_OTHER_USERS' => $lang['Users_this_IP'],
'L_LOOKUP_IP' => $lang['Lookup_IP'],
'L_SEARCH' => $lang['Search'],
'SEARCH_IMG' => $images['icon_search'],
'IP' => $ip_this_post,
'U_LOOKUP_IP' => "modcp.$phpEx?mode=ip&" . POST_POST_URL . "=$post_id&" . POST_TOPIC_URL . "=$topic_id&rdns=$ip_this_post&sid=" . $userdata['session_id'])
);
//
// Get other IP's this user has posted under
//
$sql = "SELECT poster_ip, COUNT(*) AS postings
FROM " . POSTS_TABLE . "
WHERE poster_id = $poster_id
GROUP BY poster_ip
ORDER BY " . (( SQL_LAYER == 'msaccess' ) ? 'COUNT(*)' : 'postings' ) . " DESC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get IP information for this user', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
if ( $row['poster_ip'] == $post_row['poster_ip'] )
{
$template->assign_vars(array(
'POSTS' => $row['postings'] . ' ' . ( ( $row['postings'] == 1 ) ? $lang['Post'] : $lang['Posts'] ))
);
continue;
}
$ip = decode_ip($row['poster_ip']);
$ip = ( $rdns_ip_num == $row['poster_ip'] || $rdns_ip_num == 'all') ? gethostbyaddr($ip) : $ip;
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars('iprow', array(
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'IP' => $ip,
'POSTS' => $row['postings'] . ' ' . ( ( $row['postings'] == 1 ) ? $lang['Post'] : $lang['Posts'] ),
'U_LOOKUP_IP' => "modcp.$phpEx?mode=ip&" . POST_POST_URL . "=$post_id&" . POST_TOPIC_URL . "=$topic_id&rdns=" . $row['poster_ip'] . "&sid=" . $userdata['session_id'])
);
ich brauche doch nur eineTool oder Formel wie ich die IP-Adresse auf die Zah umrechnen kann die in der Datenbank steht.
Denn die o.g. Mods kann ich nicht nutzen da ich einige Gast-Beiträge habe.
gruß Jörg