Modification de données d'une base de données

ng -  
 ng -
Bonjour,
je possède une base de données mysql sur ma plateforme wamp server 2.0, cette base de données contient toutes les informations relative à mon site agora project que j'avais auparavant téléchargé puisque c'est un CMS, dans une table nommée gt_utilisateur(3 enregistrements) se trouve un champ nommé pass contenant les mots de passe de tous les utilisateurs du site qui apparaissent en clair sous mes yeux, pour cela j'ai écris un code php afin qu'ils apparaissent au format md5, le problème est que mon code affiche bien ces mots de passe au format md5 mais ceux du champ pass sont restés inchangés, comment faire pour que la modification prenne effet dans la base. Voici mon code:

<?php
$db=mysql_connect('localhost','root','pictav');
mysql_select_db('agora_pro',$db);
$sql="SELECT pass FROM gt_utilisateur";
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data=mysql_fetch_array($req))
{
if (isset($data['pass']) && ($data['pass']!='')) {echo ' <br>...voila votre mot crypté <b>'.md5($data['pass']).'</b>';$res=md5($data['pass']);mysql_query("UPDATE gt_utilisateur SET pass=.$res.");}
}
mysql_close();
?>

voici le résultat à l'affichage:

...voila votre mot crypté 3e778af90a0a0dd2cd660b285ce1fe41
...voila votre mot crypté 32e8ea2170df91ad6f3676559de9ee9c
...voila votre mot crypté 5b9b04f824a3980081c64efb660fc6ad

Merci.
A voir également:

5 réponses

adns Messages postés 1152 Statut Membre 153
 
bonjour

essaye avec ca

mysql_query("UPDATE gt_utilisateur SET pass=".$res."");


mais la tous les utilisateurs auront le même mot de passe car tu ne précise pas a qui tu veux le changer

Adns
0
ng
 
Je l'ai essayé mais ça n'a toujours pas d'effet, de plus les utilisateurs n'auront pas tous le même mot de passe car j'utilise mysql_fetch_array qui va permettre de parcourir la table enregistrement par enregistrement jusqu'au dernier. Voici le nouveau code avec la modification effectuée:
<?php
$db=mysql_connect('localhost','root','pictav');
mysql_select_db('agora_pro',$db);
$sql="SELECT pass FROM gt_utilisateur";
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data=mysql_fetch_array($req))
{
if (isset($data['pass']) && ($data['pass']!='')) {echo ' <br>...voila votre mot crypté <b>'.md5($data['pass']).'</b>';$res=md5($data['pass']);mysql_query("UPDATE gt_utilisateur SET pass=".$res."");}
}
mysql_close();
?>
0
adns Messages postés 1152 Statut Membre 153
 
je ne comprend pas vraiment d'ou cela peux venir

en tout cas ce qui est sur c'est que ta requete : UPDATE gt_utilisateur SET pass=".$res."
ne possede pas de clause where donc toutes tes entrée seront modifié....

Adns
0
le père
 
Bonjour

Tu as une seule requête à faire, même pas de boucle :
UPDATE gt_utilisateur SET pass=MD5(pass)

mais ne fais pas la requête 2 fois !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ng
 
Désolé je n'ai pas pris la peine de réactualiser le serveur, la modification a effectivement pris effet dans la base mais comment faire pour parcourir les enregistrements différemment et pouvoir ainsi obtenir des mots de passe différents depuis le 1er ?
0