Seite 1 von 2

Gelöschte Mitglieder reaktivieren?

Verfasst: 26.12.2003 17:07
von brainscanz
Gibt es eine Möglichkeit Mitglieder, die gelöscht worden sind und die jetzt als Gäste angezeigt werden wieder rückgänig zu machen -sprich wieder angemeldet sind und die vergangen Beiträge unter ihrem Namen wieder ihnen gehören?

Verfasst: 26.12.2003 17:14
von Nana23
JA! ist aber viel arbeit

Ok kurz die erklärung dazu:
Die Beiträge werden nur user ID's zugeschrieben
wenn ein user gelöscht wurde ist er halt weg und seine ID hat keinen besitzer mehr
jetzt kannst du in der thread und post tabelle war die id ändern in irgendeinem name und du erstellst die user neu und gibst ihnen ihre alte ID zurück

Verfasst: 26.12.2003 17:22
von saerdnaer
das stimmt nicht ganz... wenn ein user gelöscht wird, wird bei allen beiträgen die user_id auf -1 gesetzt und bei post_username der benutzername des users eingetragen. jedenfalls sieht das dann so aus als hätte der user schon immer als anonymer benutzer gepostet und immer den gleichen benutzername bei dem feld in der posting.php eingetragen.

um das wieder rückgänig zu machen musst du folgende query ausführen:

Code: Alles auswählen

UPDATE phpbb_users SET poster_id = '123', post_username = '' WHERE post_username = 'benutzername'
wobei du 123 durch die neue user_id des benutzers und benutzername durch den benutzername erstetzen muss den der user davor hatte...

danach solltest du außerdem noch die userbeitragszahlen syncronisieren...
( am besten geht das mit dem Database Maintenance Mod )

achja: man müsste evl. noch das topic_poster feld in der topics tabelle aktuallisieren... ich wüsste aber nicht wie... evl. geht das auch mit dem oben genannten hack...

ah

Verfasst: 26.12.2003 17:36
von Nana23
hehe da hab ich ja mal wieder was gelernt :=)

Verfasst: 26.12.2003 17:42
von brainscanz
saerdnaer hat geschrieben:musst du folgende query ausführen:

Code: Alles auswählen

UPDATE phpbb_users SET poster_id = '123', post_username = '' WHERE post_username = 'benutzername'
Ähm, wo mach ich das? phpMyAdmin habe ich drauf.

Verfasst: 26.12.2003 17:46
von Nana23
also wenn du es nach saerdnaer beschreibung machst
musst du es somachen

erstell dir eine php datein
lasse diese zur DB connecten

und führe dann den update aus also in etwa hat dann die php datein folgenden inhalt und aussehen:

Code: Alles auswählen

<?php    

  $link = mysql_connect("hostname", "user", "passwort")
    or die("Keine Verbindung möglich!");
  mysql_select_db("datenbankname")
    or die("Auswahl der Datenbank fehlgeschlagen");

UPDATE phpbb_users SET poster_id = '123', post_username = '' WHERE post_username = 'benutzername'
?>

Verfasst: 26.12.2003 17:51
von brainscanz
Nana23 hat geschrieben: erstell dir eine php datein
lasse diese zur DB connecten
Ah... uuund wie mache ich das mit der Verbinung?

Gleich noch was dazu...
Ich möchte dann einen alten User wieder anmelden... wie kann ich es umgehen, dass er nicht unten als "Der neueste Benutzer ist ..." angezeigt wird!?

Verfasst: 28.12.2003 12:03
von Nana23
schau mal einen post drüber also meinen letzt
dort steht der quelltext der php datein
dann erstelle eine neue TXT in windows und wenn sie um in php

Ich möchte dann einen alten User wieder anmelden... wie kann ich es umgehen, dass er nicht unten als "Der neueste Benutzer ist ..." angezeigt wird!?
er darf nicht die größte ID haben

Verfasst: 28.12.2003 12:32
von Leuchte
Ähm, wo mach ich das? phpMyAdmin habe ich drauf.
Spare dir die Arbeit mit der php-Datei. Öffne phpMyAdmin und wähle deine DB aus. Dann findest du den Punkt SQL. Dort gibst du saerdnaers Querrie ein.

Verfasst: 13.05.2005 02:42
von hello moto
saerdnaer hat geschrieben: um das wieder rückgänig zu machen musst du folgende query ausführen:

Code: Alles auswählen

UPDATE phpbb_users SET poster_id = '123', post_username = '' WHERE post_username = 'benutzername'
habe den selbe problem aber wenn ich dieser code in phpmyadmin eingebe bekomme folgende fehler #1054 - Unbekanntes Tabellenfeld 'post_username' in where clause. wo mache ich den fehler den user id und benutzername habe ich wie gesagt ersetzt