nec
Hallo Leute
Ich bin mir ziemlich sicher, dass ich so einen Hack schon gesehen hab, inzwischen suche ich aber danach und finde und finde nichts. Hab sowohl manuall durch einiges hier geblättert, als auch die Suche benutzt, aber nichts gefunden. Hoffe also, einer von euch kann mir jetzt noch weiter helfen.
Folgendes Problem trifft vor allen Dingen darauf zu, wenn User gelöscht werden. Die Posts bleiben dann ja bestehen, aber sie sind dann als Gast gepostet, das ist unschön. Ich will also vor dem Löschen des Accounts sämtliche Beiträge einer von mir angegebenen UserID zuordnen (z.B. einem Account speziell für Beiträge gelöschter User).
Und dafür suche ich jetzt ein Hack, welches mir das ermöglicht.
Lieben Gruß, Nec
Agi
Das geht via Sql sehr schnell:
code: |
1:
2:
|
UPDATE bb1_threads SET userid='$ID' WHERE userid=0;
UPDATE bb1_posts SET userid='$ID' WHERE userid=0; |
|
Diese SQL Befehle in phpmyadmin oder im Forum Acp ausführen.
$ID gegen die ID des Users austauschen, dem die Beiträge zugeordnet werden sollen.
Und dann Benutzer, Themen, Beiträge und Foren aktualisieren.
Maggan22
Hallöchen,
möchte das auch machen, hätte aber 2 Fragen dazu - müsste aber noch etwas erklären.
Ich habe 2 Accounts. einmal bin ich als Board Team unterwegs, einmal als normaler User. Nun hab ich festgestellt das ich vieles eh nur mit dem normalen acc. schreibe und würde den board Team Acc. gern löschen.
WENN ich nun die Beiträge von Board Team (ID1) meinem "privaten" ACC (ID2) zuordne:
Frage 1: Werden dann die Beitragszahlen der verfassten Postings des jeweiligen Accounts verändert? Wenn nicht, wie kann ich dann die Beitragszahl von id2 erhöhen um die anzahl der neuzugeordneten Postings
Frage 2: Wenn ich das Board Team lösche - kann es passieren das die dem anderen Account zugeordneten Beiträge gelöscht werden bzw. als von einem Gast geschrieben dargestellt werden?
Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt und mir kann jemand die Fragen beantworten.
Danke schön
onesworld
Frage 2 ergibt keinen Sinn, da die Postings nicht mehr dem Teamaccount zugeordnet sind und Frage 1: Im ACP die Beiträge neu durchzählen lassen.
Maggan22
Vielen Dank für die Hilfe. Wegen der 2. Frage - was augenscheinlich anders ist, muß ja auch nicht gleich anders sein. Hab da schon die seltsamsten Sachen erlebt und wollte nur auf nummer sicher gehen
Und damit ich nix falsch mache:
UPDATE bb1_threads SET userid='$ID vom Team' WHERE userid=ID vom privataccount zu dem die Teambeiträge sollen;
richtig?
Dizzy.w3
UPDATE bb1_threads SET userid=neueID WHERE userid=alteID
UPDATE bb1_posts SET userid=neueID WHERE userid=alteID
Maggan22
Aha ok, danke. Gut das ich nochmal gefragt hab *gg*
Maggan22
Muß das Thema nochmal aufgreifen.
Wenn ich den Befehl ausführe kommt folgende Mysql Meldung:
MySQL-ERROR
MySQL meldet:
Unknown column 'userid' in 'where clause'
Fehler bei der Anfrage:
UPDATE bb1_threads SET userid='2' WHERE userid=31;
Ich habe folgendes eingegeben:
UPDATE bb1_threads SET userid='2' WHERE userid=31;
UPDATE bb1_posts SET userid='2' WHERE userid=31;
Was stimmt denn nicht?
mkkcs
das es in der bbx_threads kein Feld userid existiert !
dort gibt es zwar 2 Felder, die eine "userid" enthalten, aber es heißt halt nicht userid !
Maggan22
Danke

Es muß also im ersten Satz statt userid starterid heissen.
Richtig heisst der Code also:
UPDATE bb1_threads SET starterid='neueID' WHERE starterid=alteID;
UPDATE bb1_posts SET userid='neueID' WHERE userid=alteID;
mkkcs
Zitat: |
Original von Maggan22
Danke
Es muß also im ersten Satz statt userid starterid heissen.
Richtig heisst der Code also:
UPDATE bb1_threads SET starterid='neueID' WHERE starterid=alteID;
UPDATE bb1_posts SET userid='neueID' WHERE userid=alteID; |
jupp, und die lastposterid mußt Du evtl. dann auch noch setzen !!!
Maggan22
Eine Frage hab ich noch. Der username bleibt in den Postings aber der alte. Weiß jemand den sql befehl um das auch noch anzugleichen?
Edit - ich habs herausgefunden
UPDATE bb1_threads SET lastposter='neuer Name' WHERE lastposter='alter Name';
UPDATE bb1_threads SET starter='neuer Name' WHERE starter='alter Name';
UPDATE bb1_posts SET username='neuer Name' WHERE username='alter Name';