Rechercher : dans
Par :

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

Dernière réponse le 9 jui 2009 à 17:00:11 ng, le 9 jui 2009 à 11:00:56 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Firefox 3.0.10

Meilleures réponses pour « modification de données d'une base de données » dans :
Bases de données - Introduction Voir Qu'est-ce qu'une base de données ? Une base de données (son abréviation est BD, en anglais DB, database) est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données...
Bases de données - Utilisation de formulaires Voir Utilisation de formulaires Afin d'exploiter les bases de données, il faut fournir une interface à l'utilisateur lui permettant de visualiser des données en fonction de certains critères. Pour cela il existe un outil : les formulaires. Un formulaire...
Sauvegarde restauration base de données Mysql VoirL'article suivant va présenter la manière la plus facile pour sauvegarder et restaurer les bases de données Mysql. Sauvegarde Pour sauvegarder une base de données existante il est conseillé de créer un dump. Pour dumper toutes les bases de...
Afficher le nom des base de données Oracle VoirPour afficher le nom des bases de données Oracle ainsi que les données s'y référant, il suffit de lancer la commande : SELECT * FROM V$DATABASE;
[VBA]Connecter une base de donnée (MDB) à excel VoirConnecter une base de donnée access (MDB) dans une application excel. Ajouter la référence Microsoft DAO object librairy X.X Dans un module général (Module1 par exemple) coller le code ci-dessous Sub CopieDBaccess() Dim BDexp As...
Oracle - Les fichiers d'une base Oracle VoirLes fichiers physiques d'une base Oracle Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de fonctionnement de la base de...
Oracle - Le dictionnaire de données VoirPrésentation du dictionnaire de données Oracle Le dictionnaire de données Oracle représente le coeur de la base de données. Il s'agit d'un ensemble de tables systèmes contenant les informations relatives à la structure de la base de...
Microsoft Windows - La base de registre VoirQu'est-ce que la base de registres Dans la version 3.1 de Microsoft Windows, les applications installées étaient configurées vis-à-vis de Windows grâce à des fichiers de configuration (dont l'extension était .ini). D'autre part, deux fichiers de...

1

adns, le 9 jui 2009 à 11:06:02

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 Hacker Vaillant Rien D'Impossible !!!
Le Monde du partage Remplacera le partage du monde
Mac ou PC ?? o_O Question Stupide puisque MAC est un PC....
B2D Team © | Work In Progress

Répondre à adns

2

ng, le 9 jui 2009 à 14:51:46

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();
?>

Répondre à ng

3

adns, le 9 jui 2009 à 15:05:53

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 Hacker Vaillant Rien D'Impossible !!!
Le Monde du partage Remplacera le partage du monde
Mac ou PC ?? o_O Question Stupide puisque MAC est un PC....
B2D Team © | Work In Progress

Répondre à adns

4

le père, le 9 jui 2009 à 15:18:35

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 !

Répondre à le père

5

 ng, le 9 jui 2009 à 17:00:11

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 ?

Répondre à ng
Collection CommentÇaMarche.net