Seite 1 von 3

Gelöschte USER reaktivieren?

Verfasst: 07.12.2008 21:20
von Knuffel77
Hallo,
im Forum wurde ein User gelöscht, der nun aber zurückkommt.
Wie ich kann ich diesen reaktivieren? Ist dies überhaupt möglich? Oder wie kann ich die alten Beiträge evtl. wieder mit ihm verknüpfen?

Verfasst: 07.12.2008 22:17
von piero
einen gelöschten kannst du nicht reaktivieren.. er muss sich neu registrieren...

wenn du weisst, wie die ID seines gelöschten accounts ist, kanst du ihm seine beiträge wieder geben ;)

Verfasst: 07.12.2008 22:54
von Knuffel77
Die weiß ich noch, war ja einer der ersten die sich registriert haben.
Und wie mache ich das mit der ID? Ist das erste mal das ich sowas machen muss.
Vielen Dank schon mal.

Verfasst: 07.12.2008 23:56
von nickvergessen
piero hat geschrieben:einen gelöschten kannst du nicht reaktivieren.. er muss sich neu registrieren...

wenn du weisst, wie die ID seines gelöschten accounts ist, kanst du ihm seine beiträge wieder geben ;)
Die ID sollte eigentlich 1 sein == Gast-Benutzer =/

Verfasst: 08.12.2008 00:23
von piero
dann gestaltet sich das ganze etwas anders... es ist aber immernoch möglich^^

werde vorausichtlich heute abend eine lösung dazu bereitstellen...

@knuffel: du hast ein forum wo du datenbankzugriff hast oder?^^

Verfasst: 08.12.2008 03:32
von alexanderzwei
piero hat geschrieben:dann gestaltet sich das ganze etwas anders... es ist aber immernoch möglich^^

werde vorausichtlich heute abend eine lösung dazu bereitstellen...

@knuffel: du hast ein forum wo du datenbankzugriff hast oder?^^
Würde mich freuen, wenn du das machen könntest, denn bei uns ist auch versehentlich ein User gelöscht worden, durch eine Hinterhältige Aktion zweier User, die nun gelöscht worden sind.
Wäre gut, wenn wir diesem User seine alten Beiträgen wiedergeben kann.

Ich nehme aber an, das du wohl irgendwas mit dem Benutzernamen machen wirst, da dieser ja erhalten bleibt, denn ID fällt ja aus.. Stimmts?

Danke schonmal!

Verfasst: 08.12.2008 08:08
von Knuffel77
Der User sollte eigentlich unter dem gleichen Nick wieder wiederkommen.
Da es einer der ersten User war kann ich über die Mitgliederliste im Forum ja die User ID sehen. Der Gründer ist die 2 und dann gehen die ersten User mit 53 los und bei den ersten 6 (unter den er war) ist eine ID frei - demnach wird er das wohl gewesen sein.
Vollen Zugriff habe ich.

Verfasst: 08.12.2008 14:51
von alexanderzwei
Knuffel77 hat geschrieben:Der User sollte eigentlich unter dem gleichen Nick wieder wiederkommen.
Da es einer der ersten User war kann ich über die Mitgliederliste im Forum ja die User ID sehen. Der Gründer ist die 2 und dann gehen die ersten User mit 53 los und bei den ersten 6 (unter den er war) ist eine ID frei - demnach wird er das wohl gewesen sein.
Vollen Zugriff habe ich.
Ja, das ist gut.

Ich nehme mal an, das er vorhat, allen Beiträgen, bei denen der Nick "XYZ" vorkommt die posterID von 1 auf "X" (z.B. "2") zu ändern, also auf die neue ID des Nutzers.

Inwieweit das funktioniert, weiß ich nicht.

Verfasst: 08.12.2008 17:49
von Miriam
Also der User registriert sich neu, meinetwegen mit altem Namen... Aber neuer ID!

Passe die Queries an und führe sie NACH der Registrierung des neuen alten Users aus.
Vorgabe: Dein Tabellenpräfix ist phpbb_ und Du machst VORHER eine DB Sicherung!

Code: Alles auswählen

UPDATE phpbb_posts SET poster_id = 'neue_ID' WHERE post_username ='alter_name';
UPDATE phpbb_posts SET post_username = '' WHERE post_username ='alter_name';
UPDATE phpbb_topics SET topic_poster = 'neue_id' WHERE topic_first_poster_name = 'alter_name';
UPDATE phpbb_users SET user_posts = (SELECT COUNT(post_id) FROM phpbb_posts WHERE poster_id = 'neue_id') WHERE user_id = 'neue_id';
Es kann sein, dass die Lösung mit dem verschachtelten SELECT in Deiner DB Version nicht funktioniert.

Verfasst: 08.12.2008 19:14
von alexanderzwei
Dacht ichs mir doch.

Vielen Dank für die Anleitung!
Gibt aber einen kleinen Fehler, es heißt post_username, nicht poster_username:

Code: Alles auswählen

UPDATE phpbb_posts SET poster_id = 'neue_ID' WHERE post_username ='alter_name';
UPDATE phpbb_posts SET post_username = '' WHERE post_username ='alter_name';
UPDATE phpbb_topics SET topic_poster = 'neue_id' WHERE topic_first_poster_name = 'alter_name';
UPDATE phpbb_users SET user_posts = (SELECT COUNT(post_id) FROM phpbb_posts WHERE poster_id = 'neue_id') WHERE user_id = 'neue_id';
Funktioniert super!

Grüße,
Alex