Как вернуть сообщения удаленному пользователю

Автор hop242, 06 сентября 2007, 17:46:52

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

hop242

Был пользователь, потом он был удален (сам или модером каким-то случайно), данный пользователь заново зарегился под тем же ником и с той же почтой, но его старые сообщения (написанные до удаления) подписаны "Гость".
Как присвоить (вернуть) эти сообщения данному пользователю?
Или может быть есть возможность сделать вновь активным удаленного пользователя?

Mavn

Вообще я бы советовал восстановить из бэкапа данного пользователя и не парится на это тему.
Также поскольку у удаленного пользователя и того что сейчас зарегистрирован разные id в базе данных. Сообщения форума привязаны к id пользователя а не к его имени соответственно пробовать поменять id нового пользователя на id старого пользователя но я думаю что сообщения не вернутся скорее всего все сообщения скинулись к id гостя и придется каждый его пост перепрописывать. В общем геморой вы натворили.
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

digger®

#2
Цитироватьно я думаю что сообщения не вернутся скорее всего все сообщения скинулись к id гостя
id сохраняется и восстановить в принципе можно

hop242

Спасибо огромное, что обратили внимание на мою проблему.
Восстановить пользователя из бэкапа наверное не получиться, так как бэкаплюсь JoomlaPack и не так уж часто, поэтому без потерь сообщений все равно не обойтись.
Я склоняюсь к тому, что пользователь удалился сам по неосторожности, и тут же создал себя заново, но это один из самых активных пользователей на форуме и после удаления/восстановления новых сообщений от данного пользователя нет. Модераторы сказали, что не удаляли данного пользователя. Ответ на мое письмо на регистрационную почту от этого пользователя не приходит.
Все как-то слишком загадочно и я полез в логи. В логах я совершенно ничего не понимаю, кроме того, что они есть и их 110 страниц за 3 месяца существования форума. Это нормально? Возможно у меня просто какие-то проблемы с форумом. Где можно почитать о "расшифровке" логов?

digger®

Цитата: hop242 от 07 сентября 2007, 18:53:50
Спасибо огромное, что обратили внимание на мою проблему.
Восстановить пользователя из бэкапа наверное не получиться, так как бэкаплюсь JoomlaPack и не так уж часто, поэтому без потерь сообщений все равно не обойтись.
Я склоняюсь к тому, что пользователь удалился сам по неосторожности, и тут же создал себя заново, но это один из самых активных пользователей на форуме и после удаления/восстановления новых сообщений от данного пользователя нет. Модераторы сказали, что не удаляли данного пользователя. Ответ на мое письмо на регистрационную почту от этого пользователя не приходит.
Если сильно нужно, могу восстановить. Пишите в личку.

hop242

Пока решил не восстанавливать ничего до выяснения причины удаления пользователя.

Нормально ли 110 страниц логов ошибок форума за 3 месяца?
Должны ли вообще появляться записи в логе ошибок при нормальном функционировании форума?
Как трактовать логи ошибок форума?

Пример лога (последняя страница):

Гость     07 Сентября 2007, 18:06:40
83.237.28.87       86e71195b84b61db9a6ac95daec6bfbd
http://www.domain.ru/forum/index.php?option=com_smf&Itemid=45&action=login2

8: Undefined offset: 34
/home/hosting/public_html/domain/forum/Sources/LogInOut.php
176

       Гость     07 Сентября 2007, 18:06:40
83.237.28.87       86e71195b84b61db9a6ac95daec6bfbd
http://www.domain.ru/forum/index.php?option=com_smf&Itemid=45&action=login2


       Гость     07 Сентября 2007, 18:06:40
83.237.28.87       86e71195b84b61db9a6ac95daec6bfbd
http://www.domain.ru/forum/index.php?option=com_smf&Itemid=45&action=login2

8: Undefined index: theme_language_error
/home/hosting/public_html/domain/forum/Sources/Load.php
1573

       Гость     07 Сентября 2007, 18:06:40
83.237.28.87       86e71195b84b61db9a6ac95daec6bfbd
http://www.domain.ru/forum/index.php?option=com_smf&Itemid=45&action=login2

8: Undefined index: lang_character_set
/home/hosting/public_html/domain/forum/Sources/Load.php
1432

       admin     07 Сентября 2007, 14:47:26
83.237.28.87       86e71195b84b61db9a6ac95daec6bfbd
http://www.domain.ru/forum/index.php?action=profile2;sa=activateAccount;userID=22;sesc

8: Undefined variable: new_var
Файл: /home/hosting/public_html/domain/forum/Sources/QueryString.php
Строка: 390

Гость     06 Сентября 2007, 00:25:24
82.211.152.12       71ae57151976fcc21621fe4790a6b291
http://www.domain.ru/forum/index.php?option=com_smf&Itemid=45&action=login2

Copyright removed!!

       Гость     06 Сентября 2007, 00:25:24
82.211.152.12       71ae57151976fcc21621fe4790a6b291
http://www.domain.ru/forum/index.php?option=com_smf&Itemid=45&action=login2

8: Undefined index: ajax_in_progress
/home/hosting/public_html/domain/forum/Themes/default/Login.template.php (main_below sub template - eval?)
450

       Гость     06 Сентября 2007, 00:25:24
82.211.152.12       71ae57151976fcc21621fe4790a6b291
http://www.domain.ru/forum/index.php?option=com_smf&Itemid=45&action=login2

8: Undefined index: valid_css
/home/hosting/public_html/domain/forum/Themes/default/Login.template.php (main_below sub template - eval?)
374

       Гость     06 Сентября 2007, 00:25:24
82.211.152.12       71ae57151976fcc21621fe4790a6b291
http://www.domain.ru/forum/index.php?option=com_smf&Itemid=45&action=login2

8: Undefined index: valid_xhtml
/home/hosting/public_html/domain/forum/Themes/default/Login.template.php (main_below sub template - eval?)
373


hop242

Цитата: digger от 07 сентября 2007, 19:49:15
Если сильно нужно, могу восстановить. Пишите в личку.

Пока не ясно нужно ли восстанавливать или нет, но я думаю будет полезно, и не только мне, если Вы опишите принцип восстановления по id здесь. Если придется все-таки залезать в бд, то хочется самому попробовать.

hop242

Цитата: digger от 08 сентября 2007, 04:05:31
Вот это самая главная ошибка :)
Если честно, то я Вас не понял. Никакие копирайты я не правил.

digger®

Цитата: hop242 от 10 сентября 2007, 21:15:02
Пока не ясно нужно ли восстанавливать или нет, но я думаю будет полезно, и не только мне, если Вы опишите принцип восстановления по id здесь. Если придется все-таки залезать в бд, то хочется самому попробовать.

У всех сообщений остается id пользователя создавшего их.
Смотрим в базе любое собщение пользователя, видим его старый id.
Смотрим id нового пользователя.
Меняем во всех его сообщениях старый id автора на новый.

hop242

Цитата: digger от 10 сентября 2007, 21:57:34
У всех сообщений остается id пользователя создавшего их.
Смотрим в базе любое собщение пользователя, видим его старый id.
Смотрим id нового пользователя.
Меняем во всех его сообщениях старый id автора на новый.
Спасибо, буду пробовать.

domofor

Цитата: digger от 10 сентября 2007, 21:57:34
Меняем во всех его сообщениях старый id автора на новый.
Т.е. придется открывать каждую запись и редактировать в ней ID? А оптом не получится? (извиняюсь, совсем чайник в phpMyAdmin).

ЗЫ. У меня тоже вылетел (при сбое) из таблицы мемберов один участник и стал гостем с 33-мя сообщениями. Я вернул ему старый ID, но прежние его посты остались гостевые.

hop242

Нужно во всех постах ID поменять - это не долго на самом деле.

domofor

Цитата: hop242 от 18 января 2008, 07:59:52
Нужно во всех постах ID поменять - это не долго на самом деле.
А если из БД "пропадет" ветеран форума с тысячей постов? :)

hop242



domofor

Цитата: digger от 18 января 2008, 14:13:08
Ну а какая разница, хоть десять тысяч. ID поменять у них - пара секунд
Ну так подскажите как сделать?
Я нашел в таблице мессаг все сообщения юзера (получилось 8 страниц), в которых нужно переправить ID=0 на 874. Вероятно, нужно запрос составить, а я не шарю в этом. Поэтому тупо редактирую таблицу по одной странице...


domofor

#18
ага, спасиб! я пока ждал ответа, поковырялся в таблицах по типу научного тыка и нашел такой же запрос, только с LIMIT в конце строки. Когда лимит убрал, все получилось :)
UPDATE `smf_messages` SET `ID_MEMBER` = 'ххх' WHERE `smf_messages`.`posterName` = 'хххх'

Кстати, ID юзера я предварительно поменял с нового на прежний (поискав его в бекапе БД месячной давности).

AndrSS

Здравствуйте!

Пользователь потерял пароль и решил зарегится по новой, читал тут про восстановление сообщений.
С этим ясно!
А вот можно вообще присвоить ему старый его ID чтобы все сообщения к нему вернулись?

digger®

Цитата: AndrSS от 25 марта 2008, 19:36:00
Здравствуйте!

Пользователь потерял пароль и решил зарегится по новой, читал тут про восстановление сообщений.
С этим ясно!
А вот можно вообще присвоить ему старый его ID чтобы все сообщения к нему вернулись?

Не проще ему пароль напомнить?

AndrSS

#21
Цитата: digger от 25 марта 2008, 19:38:53
Не проще ему пароль напомнить?

Да втом и дело, что модератор посчитал чтобы небыло двоих - раннего удалил! :-(
Но ID его пустует  1 2 3 ... 5 6 7

=====================

Нет решения?

Jerry

Можно изменить ID в профиле в базе, а потом sql запросом как указано выше присвоить сообщения (если конечно сообщения уже переделаны на новый id, а если сообщения не трогали, то просто сменить id и больше ничего не нужно).

AndrSS

Сорри! А что надо править чтобы переназначить ID пользователю?

Jerry

UPDATE `smf_messages` SET `ID_MEMBER` = '4'
WHERE `smf_messages`.`ID_MEMBER` = 'который_нужно_заменить'

4 - НА который нужно заменить.
UPDATE и WHERE - команды думаю понятно зачем. Вместо ID_MEMBER можно поставить любой другой столбец таблицы и оперировать с любыми данными. Например, сделать ID 0 у всех пользователей, у которых 0 сообщений.