Modification de données d'une base de données
ng
-
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.
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:
- Modification de données d'une base de données
- Fuite données maif - Guide
- Suivi de modification word - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Base de registre - Guide
5 réponses
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
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
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();
?>
<?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();
?>
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
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
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 !
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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question