Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

PHP - Supprimer un compte utilisateur

Aller à la page 1, 2  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
gcvoiron
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Oct 2005
Messages: 491

URL permanente de ce messagePosté le : Ven Mar 31, 2006 22:56    Sujet du message: PHP - Supprimer un compte utilisateur

Bonjour, je possède un site où des membres peuvent s'enregister. J'ai un "espace admin" où je peux gérer les membres, où entre autre je peux les supprimer. J'aimerais mettre un bouton dans les sessions des membres pour qu'ils puissent eux mêmes supprimer leur compte. Vous trouverez ci-dessous, les codes des pages qui me servent à supprimer un utilisateur. Quelqu'un saurait me dire comment réaliser ceci, à l'aide des codes ci-dessous? Merci.

Première page, où un champ me demande l'email, puis il faut cliquer sur supprimer.
Code:

<?
include("../templates/admin-header.txt");
?>
<center><table border="0" bordercolor="#00FF00">
              <tr>
                <td rowspan="6" width="483" valign="top">
                  <div align="left">

                    <form name="form1" method="post" action="userloschen2.php">
                      <table width="70%" border="0" align="center">
                        <tr>
                          <td width="50%">E-mail de l'utilisateur </td>
                          <td width="77%">
                            <input type="text" name="email" size="20" maxlength="50">
                          </td>
                        </tr>
                        <tr>
                          <td colspan="2">
                            <div align="center">
                              <input type="submit" name="Submit" value="Supprimer">
                            </div>
                          </td>
                        </tr>
                      </table>
                    </form>
                    <p align="center">&nbsp;</p>
    </div>
                </td>
              </tr>
            </table></center>



Seconde page, où un message de confirmation apparait pour dire que le membre a bien été supprimé.
Code:

<?
include("header.inc.php");
?>
<?
global $email;
        $query="DELETE FROM demo_a_accounts WHERE email='$email'";
        mysql_query($query);
?>
<?
include("../templates/admin-header.txt");
?>
<center>
  L'utilisateur avec l'adresse e-mail  <?php echo "$email"; ?> a &eacute;t&eacute; supprim&eacute; de la base de donn&eacute;e.
</center>
 
gcvoiron Visiter le site web du posteur
Bacteries
WRInaute accro
WRInaute accro

Inscrit le: 27 Mai 2004
Messages: 1048
Localisation: France - Nantes

URL permanente de ce messagePosté le : Sam Avr 01, 2006 9:57    Sujet du message: PHP - Supprimer un compte utilisateur

Tu veux faire la suppression juste en donnant un email? N'importe qui pourra supprimer un compte comme ça?

Le global $email; dans le second script ne sert à rien.

Le
"DELETE FROM demo_a_accounts WHERE email='$email'";
devrait plus être :
"DELETE FROM demo_a_accounts WHERE email='".$_POST['email']."'";
Ca évitera déjà quelques problèmes.

Sinon à mon avis il faut revoir le fonctionnement car ça me parrait un peu bancal.
 
Bacteries Visiter le site web du posteur
gcvoiron
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Oct 2005
Messages: 491

URL permanente de ce messagePosté le : Sam Avr 01, 2006 11:54    Sujet du message: PHP - Supprimer un compte utilisateur

Bonjour, merci de votre réponse. En fait je veux que chaque utilisateur puisse supprimer son compte à partir de son espace membre et c'est pour ça que je cherche comment faire pour qu'ils puissent supprimer que leur compte, et pas ceux des autres...
 
gcvoiron Visiter le site web du posteur
Bacteries
WRInaute accro
WRInaute accro

Inscrit le: 27 Mai 2004
Messages: 1048
Localisation: France - Nantes

URL permanente de ce messagePosté le : Sam Avr 01, 2006 13:46    Sujet du message: PHP - Supprimer un compte utilisateur

Tu dois avoir un identifiant non?

Tu fais un bouton supprimer avec un lien du genre :
me_supprimer.php?id=<l'id de ton membre>

Dans me_supprimer.php tu vérfie que c'est bien la bonne personne (par rapport à celle connectée), si oui tu la supprimes.

Par contre attention si ces membres ont posté des messages ou autre ça peut foutre le bordel (tout dépend comment c'est codé).
 
Bacteries Visiter le site web du posteur
gomoz
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 29 Déc 2004
Messages: 230
Localisation: vannes

URL permanente de ce messagePosté le : Dim Avr 02, 2006 2:48    Sujet du message: PHP - Supprimer un compte utilisateur

Bacteries a écrit:
"DELETE FROM demo_a_accounts WHERE email='".$_POST['email']."'";

addslashes($_POST['email']) serait un peu mieux même mais vu que c'est pour son propre compte, mieux vaut passer par les ID.

Et pour éviter de "foutre le bordel" dans ta base de données, assure-toi de bien comprendre chaque ligne de la page 'userloschen2.php' avant d'en faire une adapté pour tes membres (=> sauvegarde de la base de donnée et tests en local hautement recommandés Wink).
 
gomoz
gcvoiron
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Oct 2005
Messages: 491

URL permanente de ce messagePosté le : Dim Avr 02, 2006 9:59    Sujet du message: PHP - Supprimer un compte utilisateur

Ben en fait je n'y connais absolument rien en PHP donc je pensais mettre un bouton "Supprimer mon compte" et lorsque qu'un membre appuie sur ce bouton, un script supprime l'email de l'utilisateur de la base de donnée (comme je peux le faire à partir de l'espace administrateur). Et comme ça, il n'y a pas de risque pour qu'un utilisateur supprime autre que son compte. Lorsque l'on rentre dans l'espace membre, un code PHP indique l'email de l'utilisateur, il dit "echo $num3;". Puis-je réaliser la supprssion à partir de cela? Merci.
 
gcvoiron Visiter le site web du posteur
gcvoiron
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Oct 2005
Messages: 491

URL permanente de ce messagePosté le : Dim Avr 02, 2006 10:09    Sujet du message: PHP - Supprimer un compte utilisateur

Le fichier "userloschen 2" a le code suivant :
Code:

<?
include("header.inc.php");
?>
<?
global $email;
        $query="DELETE FROM demo_a_accounts WHERE email='$email'";
        mysql_query($query);
?>
<center>
  L'utilisateur avec l'adresse e-mail  <?php echo "$email"; ?> a &eacute;t&eacute; supprim&eacute; de la base de donn&eacute;e.
</center>


Comment faire pour "stocker" la valeur "echo $num3;" dans la valeur "$email" pour que sur une page de l'espace membre, la valeur "echo $num3;" (email du membre) soit stocké dans "$email" , puis qu'en cliquant sur un lien, la page userloschen 2 s'ouvre et réalise la suppression???
 
gcvoiron Visiter le site web du posteur
gcvoiron
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Oct 2005
Messages: 491

URL permanente de ce messagePosté le : Dim Avr 02, 2006 11:19    Sujet du message: PHP - Supprimer un compte utilisateur

C'est bon, j'y suis arrivé, voilà comment j'ai fais :
Dans l'espace membre, en cliquant sur "Editer votre compte", j'ai ajouté un bouton "Supprimer" pour supprimer le compte :

Code:
<p align="center" class="Style44">
<span style="font-family: verdana; font-size: 14px; font-weight: bold">
<u>Supprimer mon compte (recup&eacute;ration impossible) : </u></span></p>
<table border="0" bordercolor="#00FF00">
<tr>
<td rowspan="6" width="483" valign="top"><div align="left">
<form name="form1" method="post" action="../compte-supprime.php">
<table width="70%" border="0" align="center">
<tr>
<td width="50%">&nbsp;</td>
<td width="77%"><input name="email" type="hidden" value="<?php echo $row3[3]; ?>" size="20" maxlength="50">                          </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Supprimer">
</div></td>
</tr>
</table>
</form>
<p align="center">&nbsp;</p>
</div></td>
</tr>
</table>


Si le membre clique sur le bouton, une page s'ouvre pour lui dire que son compte a été supprimé, voici le code :

<?
include("admin/header.inc.php");
?>
<?
global $email;
$query="DELETE FROM demo_a_accounts WHERE email='$email'";
mysql_query($query);
?>

<p align="center" class="Style44"><u>Compte supprim&eacute;e </u></p>
<blockquote>
<p align="center" class="Style46 Style37"><strong>L'utilisateur avec l'adresse e-mail <?php echo "$email"; ?> a &eacute;t&eacute; supprim&eacute; de la base de donn&eacute;e.</strong></p>
</blockquote>
<p class="Style46 Style37">&nbsp;</p>
 
gcvoiron Visiter le site web du posteur
gomoz
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 29 Déc 2004
Messages: 230
Localisation: vannes

URL permanente de ce messagePosté le : Dim Avr 02, 2006 16:06    Sujet du message: PHP - Supprimer un compte utilisateur

Citation:
Dans l'espace membre, en cliquant sur "Editer votre compte", j'ai ajouté un bouton "Supprimer" pour supprimer le compte :
"J'ai ajouté : c'est du passé composé ?
...tu n'as pas peur toi Very Happy

Déjà $email ne devrait rien retourner normalement, s'il retourne quelque chose, c'est que ton serveur à de fortes chances de presenter des failles de sécurité (mais c'est une autre histoire).

Ensuite ton script est à retirer tout de suite de ton site. Je sais pas le nombre de visiteurs que tu as mais un jour ou l'autre la faille est toujours découverte. Imagine qu'un membre modifie le champ email par le tiens : il supprime ton compte. Et maintenant, plus dangeureux encore, il modifie le champs email par ' OR 1 OR email='
=>
"DELETE FROM demo_a_accounts WHERE email='' OR 1 OR email=''"; (<=> SUPRIMME DE demo_a_accounts QUAND email est vide OU toujours OU email est vide)
=>
Tu n'aura plus aucun membre...

donc à la place de
$query="DELETE FROM demo_a_accounts WHERE email='$email'";
tu devrais mettre ca normalement :
$query='DELETE FROM demo_a_accounts WHERE email=\''.addslashes($_POST['email']).'\'';

et même plus, tu devrais trouver un moyen d'identifier chaque personne sans passer par un champ de formulaire. (fait voir le code php de header.inc.php si tu veux je regarderai)


.
 
gomoz
gcvoiron
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Oct 2005
Messages: 491

URL permanente de ce messagePosté le : Dim Avr 02, 2006 16:29    Sujet du message: PHP - Supprimer un compte utilisateur

Bonjour, en fait l'utilisateur ne peux pas changer l'email du compte à modifier, il est inscrit dans un champ de texte masqué. Il peux juste cliquer sur "Supprimer", ce qui entraîne la suppression de son compte... Je ne vois pas comment un utilisateur peut donc supprimer le compte d'un autre, puisque qu'il n'a pas à rentrer d'email mais seulement à cliquer sur un bouton. Dîtes le moi si je me trompe, merci d'avance.
 
gcvoiron Visiter le site web du posteur
gomoz
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 29 Déc 2004
Messages: 230
Localisation: vannes

URL permanente de ce messagePosté le : Dim Avr 02, 2006 16:43    Sujet du message: Re: PHP - Supprimer un compte utilisateur

gcvoiron a écrit:
Dîtes le moi si je me trompe, merci d'avance.
Very Happy tu te trompe mais rassure toi, tu n'es pas le premier à faire cette erreur Wink

tout ce qui est envoyé par le navigateur du client est modifiable par le client. Je le sais très bien car je dévelloppe plusieurs programme en c# qui utilisent ces possibiltés Wink (mais nul besoin de programmer pour le faire, un novice peut très bien copier ta page de formulaire sur un autre site et la modifier de là bas en appelant http://www.example.net/compte-supprime.php
 
gomoz
gcvoiron
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Oct 2005
Messages: 491

URL permanente de ce messagePosté le : Dim Avr 02, 2006 16:50    Sujet du message: PHP - Supprimer un compte utilisateur

Ok, mais que me conseillez-vous de faire?
 
gcvoiron Visiter le site web du posteur
gomoz
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 29 Déc 2004
Messages: 230
Localisation: vannes

URL permanente de ce messagePosté le : Dim Avr 02, 2006 17:07    Sujet du message: PHP - Supprimer un compte utilisateur

gomoz a écrit:
(fait voir le code php de header.inc.php si tu veux je regarderai)
 
gomoz
gcvoiron
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Oct 2005
Messages: 491

URL permanente de ce messagePosté le : Dim Avr 02, 2006 17:10    Sujet du message: PHP - Supprimer un compte utilisateur

Dans header.inc.php, il y a juste cela :
<?php
$db = mysql_pconnect("********", "********", "****");
mysql_select_db("********",$db);
?>
 
gcvoiron Visiter le site web du posteur
gomoz
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 29 Déc 2004
Messages: 230
Localisation: vannes

URL permanente de ce messagePosté le : Dim Avr 02, 2006 17:17    Sujet du message: PHP - Supprimer un compte utilisateur

bizzare, alors par mp (ca sera plus simple) la page "Editer votre compte"
 
gomoz
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 2 - Aller à la page 1, 2  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort