Bonjour à tous,
Un de mes membres s'est désinscrit...
De ce fait, tous ses messages sont affichés comme postés sur son pseudo mais en invité.
Or il souhaite réintégrer le forum.
Bien sur il pourrait ouvrir un nouveau compte et repartir de zéro, mais est-il possible de lui redonner son compte précédent?
Comme il n'apparait plus nul part, je me demande comment faire?
D'avance merci.
Bonjour,
Il faut qu'il crée un nouveau compte, ensuite il te faut exécuter plusieurs requêtes dans l'outil permettant de gérer ta base de données (phpmyadmin sans doute ?)
1/ Réattribuer les anciens messages Il faut exécuter la requête suivante :
UPDATE smf_messages SET ID_MEMBER="xxx", posterEmail="yyy" WHERE ID_MEMBER="0" AND poster_Name="zzz"
En remplaçant :
- xxx par le numéro d'inscrit actuel de l'utilisateur
- yyy par le mail actuel de l'utilisateur
- zzz par l'ancien pseudo de l'utilisateur (que ce soit ou non le même que l'actuel)
2/ Modifier la date d'inscriptionPour que les stats soient correctes il faut redonner une date d'inscription antérieure ou égale au premier message de l'utilisateur. Pour la trouver il faut effectuer la requête suivante :
SELECT posterTime FROM smf_messages where ID_MEMBER="xxx" ORDER BY ID_MSG ASC LIMIT 0,1
xxx est à remplacer par le numéro actuel de l'utilisateur. Avec cette requête tu obtiens une valeur que tu notes.
Tu exécutes ensuite la requête suivante pour remplacer la date d'inscription :
UPDATE smf_members SET date_Registered="ttt' WHERE ID_MEMBER="xxx'
En remplaçant :
- xxx par le numéro d'inscrit actuel de l'utilisateur
- ttt par le numéro précédemment noté
3/ Compter le nombre de messages posté au totalL'outil d'administration ne répare pas ce qui devient une erreur (les anciens messages n'étant plus comptés). Donc il faut les compter soit même :
SELECT COUNT(*) FROM smf_messages WHERE ID_MEMBER="xxx"
Pour xxx, pareil que précédemment. Le nombre qui apparait est donc le nombre de message postés. Pour le rétablir :
UPDATE smf_members SET posts="ppp' WHERE ID_MEMBER="xxx'
Où ppp est le nombre de posts, noté plus haut.
Voilà je crois que c'est tout :)
Ok, je te remercie du coup de main, je lui dis de se ré-inscrire et j'essaie ça.
Merci ;)
Quote from: Lunatic_10QT on July 20, 2005, 05:16:59 PM
Bonjour,
Il faut qu'il crée un nouveau compte, ensuite il te faut exécuter plusieurs requêtes dans l'outil permettant de gérer ta base de données (phpmyadmin sans doute ?)
1/ Réattribuer les anciens messages
Il faut exécuter la requête suivante :
UPDATE smf_messages SET ID_MEMBER="xxx", posterEmail="yyy" WHERE ID_MEMBER="0" AND poster_Name="zzz"
En remplaçant :
- xxx par le numéro d'inscrit actuel de l'utilisateur
- yyy par le mail actuel de l'utilisateur
- zzz par l'ancien pseudo de l'utilisateur (que ce soit ou non le même que l'actuel)
2/ Modifier la date d'inscription
Pour que les stats soient correctes il faut redonner une date d'inscription antérieure ou égale au premier message de l'utilisateur. Pour la trouver il faut effectuer la requête suivante :
SELECT posterTime FROM smf_messages where ID_MEMBER="xxx" ORDER BY ID_MSG ASC LIMIT 0,1
xxx est à remplacer par le numéro actuel de l'utilisateur. Avec cette requête tu obtiens une valeur que tu notes.
Tu exécutes ensuite la requête suivante pour remplacer la date d'inscription :
UPDATE smf_members SET date_Registered="ttt' WHERE ID_MEMBER="xxx'
En remplaçant :
- xxx par le numéro d'inscrit actuel de l'utilisateur
- ttt par le numéro précédemment noté
3/ Compter le nombre de messages posté au total
L'outil d'administration ne répare pas ce qui devient une erreur (les anciens messages n'étant plus comptés). Donc il faut les compter soit même :
SELECT COUNT(*) FROM smf_messages WHERE ID_MEMBER="xxx"
Pour xxx, pareil que précédemment. Le nombre qui apparait est donc le nombre de message postés. Pour le rétablir :
UPDATE smf_members SET posts="ppp' WHERE ID_MEMBER="xxx'
Où ppp est le nombre de posts, noté plus haut.
Voilà je crois que c'est tout :)
bjr
je reprends un vieux message mais quand je fais la première ligne de ton aide cela na marche pas
faut bien faire cela dans l'onglet requete de phpadmin
Oui. « Ça marche pas « est un peu court (apprenez à détailler plus vos problèmes, que diable ! :P)
je m'explique, je vais donc dans phpmyadmin, dans ma base de donné je vais dans l'onglet requete et j'effectue la première requette en remplissant comme il faut et voila ce que j'obtiens :
Base de données db_fonfonsd - Table mx94718_smf_messages sur le serveur mysql.ironie.org
Erreur
requête SQL :
UPDATE smf_messages SET ID_MEMBER = "18",
posterEmail = "
[email protected]" WHERE ID_MEMBER = "0" AND posterName = "serge"
MySQL a répondu:
#1146 - Table 'db_fonfonsd.smf_messages' doesn't exist
alors que dans ma base de données fonfonsd j'ai bien la base smf_messages
merci
j'ai trouvé fallait que je change mon prefixe base par mx94718_XXX
par contre pour la dernière ligne de requette pour reatribuer les sujets j'ai
MySQL a répondu:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT ID_MSG
FROM mx94718_smf_messages
WHERE id_member = "18"
merci
Il y a une coquille dans la dernière requête, le 'ppp' est entouré par un guillement simple et un double. N'utilise que des simples. Idem pour le 'xxx'.