News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Problemon con borrado de usuarios

Started by SiToS, May 01, 2005, 08:54:24 PM

Previous topic - Next topic

SiToS

Hola!

Bueno hoy sin kerer he borrado 20 personas de mi foro(incluidos admins etc...) y quisiera saber la manera de que todo quede como estaba. Ahora todos los mensajes de los usuarios borrados salen como invitados

- El ultimo backup que tengo es de hace 10 dias... y se perderian + de 500 mensajes que no kiero perder.

- He probado a subir la tabla smf_members con todos los usuarios pero siguen saliendo como visitantes.

Ahora que puedo hacer???? Por que si subo la tabla smf_members con los usuarios que he borrado... no se ponen otra vez los mensajes con su autor???

Tengo que subir tambien la tabla smf_messages para que vuelvan a verse los mensajes de cada autor?

hay alguna manera mas facil??

Gracias

Omar Bazavilvazo

#1
1) Para empezar, tienes que agregar en smf (a pie) a tus usuarios que les diste matarile. Fijate cada usuario que ID_MEMBER tiene (eso lo ves al ver su perfil, el paramatro u=xx)

2) necesitas phpMyAdmin, para modificar cosas directamente de la bse de datos. eso debe venir con tu plan de hospedaje, o instalalo

3) en phpmyadmin, haz este query:

UPDATE smf_messages SET ID_MEMBER = <SU_NUEVO_ID_MEMBER> WHERE posterEmail = '<SU_DIRECCION_DE_EMAIL>';

(por ejemplo, UPDATE smf_messages SET ID_MEMBER = 12345 WHERE posterEmail = '[email protected]';)

4) crea un archivo, restore.php en el mismo directorio del foro, con esto:

<?php
//Include SSI.php as a quick and dirty way to get access to all the stuff we need...
include_once('SSI.php');
//Get the ID_TOPIC values for the topics that need updating...
$query1 = db_query("SELECT t.ID_TOPIC, m.ID_MSG FROM {$db_prefix}messages AS m, {$db_prefix}topics AS t WHERE t.ID_FIRST_MSG = m.ID_MSG AND m.ID_POSTER = 'their_new_user_id'", __FILE__, __LINE__);
//Do the updating
while($stuff = mysql_fetch_assoc($query1))
{
$query2 = db_query("UPDATE {$db_prefix}members SET ID_MEMBER_STARTED = 'their_new_user_id' WHERE ID_TOPIC = '$stuff[ID_TOPIC]'", __FILE__, __LINE__);
}
?>

cambia their_new_user_id con ese ID que hemos estado usando, y navega a ese archivo para ejecutarlo (por ejemplo http://tusitio.com/foro/restore.php)

5) haz los pasos 3 y 4, para cada usuario que desees restaurar

6) métete a admin->Mantenimiento del foro "Recontar todos los totales y estadísticas"

7) borra restore.php



ja ne!




Personal Signature:
HablaJapones
http://hablajapones.org
http://hablajapones.org/tutoriales.php


NO me manden PM para soporte o dudas
...Leo los foros como todos...

MaNaRa

el problema está en que cuando el usuario ya está eliminado y sale como visitante, no te muestra su ID
mi versión de foro es SMF 2.0

flypando

creo que se refiere a que mires su ip nueva...y esa es la que debes poner junto con el correo con el que se registró ;)

pendrakon

no, no su ip, su ID de identificacion en el foro...
eso revisalo en tu bases de datos de backup

flypando


HackRos

Unknown column 'm.ID_POSTER' in 'where clause'
Archivo: /home/vagospor/public_html/restore.php
Línea: 5

Advertisement: