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...
PHP - Bases de données Voir Php permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
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...
Démarrer une base de données avec un data file manquant VoirDémarrer une base de données Oracle avec un data file manquant Se connecter à SQL*DBA ou au Server Manager lancer « shutdown abort » lancer « startup mount » lancer la commande suivante pour remplacer le datafile (exemple …/oradata/temp_01.dbf)...
[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...
MERISE - Modèle conceptuel des données VoirModèle conceptuel des données Le modèle conceptuel des données (MCD) a pour but d'écrire de façon formelle les données qui seront utilisées par le système d'information. Il s'agit donc d'une représentation des données, facilement compréhensible,...
SQL - Contraintes d'intégrité VoirExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient...
Administrateur de bases de données VoirAdministrateur de bases de données L'administrateur de bases de données (parfois appelé responsable de bases de données ou en anglais database administrator, noté DBA) est chargé du maintien et de l'évolution des bases de données constituant le...

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