PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 22-05-2013 14:51:14

tartar
Membre
Inscription : 22-05-2013
Messages : 2

Comment on code un lien pour la désinscription d’un compte utilisateur

Bonjour,
Je suis très débutante en code PHP, j'utilise wamp pour réaliser un projet web.
Il s'agit d'un site mini réseau social, j'ai fais l'inscription et login, logout.
Mias quant à la désinscription, je n'y arrive plus.
Veuillez m'aider à débloquer.
Je pense qu'il faut utiliser : delete from utilisateurs where....
mais après plein de tests, rien ne fonctionne.
Merci d'avance!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Hors ligne

#2 22-05-2013 15:20:43

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Comment on code un lien pour la désinscription d’un compte utilisateur

un delete n'est certainement pas la meilleure des solutions.
comment faire des stats si tu supprimes un membre ?
un "flag" actif/inactif serait une meilleure solution.

a++

Hors ligne

#3 22-05-2013 15:26:09

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Comment on code un lien pour la désinscription d’un compte utilisateur

Saluton,

Sans en savoir davantage sur le mode de fonctionnement de ton site difficile de te répondre.

Mais, si tu possèdes l'identifiant de la personne qui se désinscrit, la requête SQL énoncée avec une restriction sur l'identifiant dans la clause WHERE semble un bon début.

Ensuite si c'est l'utilisateur lui-même qui se désinscrit, il faut éventuellement penser à détruire son profil dans ses variables de session.

Toutefois, tout ce qui, dans la base, se référait à cet utilisateur risque de se retrouver avec des liaisons orphelines dans les autres tables.

A toi de voir si c'est important ou d'avoir prévu un ON DELETE CASCADE.

Ou de t'orienter vers une solution comme celle que préconise l'ami Pierrot.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#4 22-05-2013 16:05:16

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Comment on code un lien pour la désinscription d’un compte utilisateur

nan nan et nan !!!!!!!!!!!!!!!!!!!

tu prend MA SOLUTION propre big_smile:D

OU éventuellement tu opte pour une solution alternative comme celle que te propose MK tongue big_smile

a++

Hors ligne

#5 25-05-2013 16:44:48

tartar
Membre
Inscription : 22-05-2013
Messages : 2

Re : Comment on code un lien pour la désinscription d’un compte utilisateur

Re,
"un "flag" actif/inactif" : càd insérer un champ dans la table 'utilisateurs' avec type BOOLEAN?

d'ailleurs, j'ai réussi d'en supprimer dans ma BDD, mais que pour la table 'utilisateur', pas pour les autres tables: amis, cadeaux, conversations, conversations_membres, conversations_messages, offrir;

J'ai essayé d'ajouter ON DELETE CASCADE, mais je n'arrive pas l'ajouter correctement, j'ai essayé de faire des jointure aussi, ça ne fonctionne pas non plus. Veuilez m'aider, SVP!!

mon code sans pouvoir effacer toutes les données de laisons:

function desinscrire_utilisateur()
{

mysql_query("DELETE FROM utilisateurs WHERE utilisateurs.pseudo='{$_SESSION['pseudo']}'
                   
") or die(mysql_error());

}


mon code que j'ai essayé avec la jointure, mais ça ne delete plus l'utilisateur du tout:

function desinscrire_utilisateur()
{

mysql_query("DELETE FROM utilisateurs,amis,cadeaux,conversations,conversations_membres,conversations_messages,offrir
                    USING utilisateurs,amis,cadeaux,conversations,conversations_membres,conversations_messages,offrir
                    WHERE utilisateurs.pseudo='{$_SESSION['pseudo']}'
                    and utilisateurs.pseudo=amis.pseudo_exp
                    or utilisateurs.pseudo=amis.pseudo_dest
                    and utilisateurs.pseudo=cadeaux.pseudo_membre
                    and conversations_membres.id_conversation=conversations.id_conversation
                    and utilisateurs.pseudo=conversations_membres.pseudo_dest
                    and utilisateurs.pseudo=conversations_messages.pseudo_exp
                    and utilisateurs.pseudo=offrir.pseudo_ami


") or die(mysql_error());

}

Hors ligne

Pied de page des forums