Modifer mot de passe dans la base de donnee

ced29 -  
 Foxy -
Bonjour, je suis actuellement entrain de créer une interface web, la page de connexion marche bien, cependant j'ai une autre page qui doit me permettre de changer le mdp d'un utilisateur : il existe deux comptes utilisateurs :utilisateur privilégié et utilisateur simple
Je ne sais pas du tout comment faire update sur la bdd quoi mais après niveau php je suis débutant, quelqu'un pourrait m'aider?
Voici la forme de ma page utilisateur.htm :

Utilisateur simple :
Nouveau mdp : (champ texte)
Nouveau mdp(vérification): (champ texte)

Utilisateur privilegie :
Nouveau mdp : (champ texte)
Nouveau mdp(vérification): (champ texte)

ENVOYER (bouton submit)

Ma base de donnée s'appelle "compte" il y a une seule table dedans qui sapelle utilisateurs . Cette table contient 3 champs :
- id_utilisateur
- type_utilisateur
- mdp_utilisateur

Il y a 2 enregistrements dans la table :

id_utilisateur type_utilisateur mdp_utilisateur
1 privilegie admin
2 simple test

La page utilisateurs.htm est la page ou jdoi mettre le code php pr faire la mise a jour du mdp

une parti du code ke jè comencé à fer :

<?php
mysql_connect("localhost", "root", "adminserv") or die("erreur de connexion au serveur");
mysql_select_db("compte") or die("erreur de connexion a la base de donnees");
?>

<?php
if(isset($_POST) && !empty($_POST['newmdp']) && !empty($_POST['utilisateur'])) {
$sql = 'update utilisateurs set mdp ="'.$_POST['newmdp'].'" WHERE type_utilisateur="'.$_POST['utilisateur']).'"';

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

mysql_close();

echo 'Le nouveau mdp a bien été pris en compte';
}
else {
echo 'Les variables du formulaires ne sont pas déclarées';
}

je penses être loin du compte, j'espère que vous pourrez m'aider
merci davance
A voir également:

15 réponses

ltstam Messages postés 398 Statut Membre 59
 
salut
le script me semble bon est ce que tu l'as testé?
si son fais le et dis moi ce que cela donne.
ok?
0
ced29
 
je viens de tester ça me raffiche ma page utilisateurs.php avec marqué en haut à gauche :" les variables du formulaires ne sont pas déclarées"

voici le code de ma page :

<?php
mysql_connect("localhost", "root", "adminserv") or die("erreur de connexion au serveur");
mysql_select_db("compte") or die("erreur de connexion a la base de donnees");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Utilisateur</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="pageweb.css" rel="stylesheet" type="text/css">
<style type="text/css">
body
{
background-color: #FFFFCC;
}

table
{
/*#FFB56A -> Orange*/
margin-top: 1%;
margin-bottom: 1%;
margin-left: 25%;
margin-right: 25%;
border-width: 2;
border-style: solid;
border-color: #000000;
border-collapse: collapse;
width: 50%;
padding: 0px;
}

td
{
background-color: #FFFFFF;
border-width: 2;
border-style: solid;
border-color: #000000;
width: 50%;
vertical-align: middle;
text-align: left;
}

</style>
</head>

<body>

<?php
if(isset($_POST) && !empty($_POST['newmdp']) && !empty($_POST['utilisateur'])) {
$sql = 'update utilisateurs set mdp ="'.$_POST['newmdp'].'" WHERE type_utilisateur="'.$_POST['utilisateur'].'"';

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

mysql_close();

echo 'Le nouveau mdp a bien été pris en compte';
}
else {
echo 'Les variables du formulaires ne sont pas déclarées';
}
?>
Utilisateur simple :</font></strong></p>
<table width="69%" border="1">
<tr>
<td width="41%"><font color="#0000CC" size="2">Nouveau mot de passe
:</font></td>
<td width="59%"><form name="utilisateur" method="post" action="modifmdp.php">
<font color="#0000CC">
<input type="password" name="mdp">
</font></form></td>
</tr>
<tr>
<td><font color="#0000CC" size="2">Nouveau mot de passe (vérification)
: </font></td>
<td><form name="utilisateur" method="post" action="modifmdp.php">
<font color="#0000CC">
<input type="password" name="mdp">
</font></form></td>
</tr>
</table>
<p> </p>
<p><strong><font color="#0000CC" size="3">Utilisateur privilégié
:</font></strong></p>
<table width="69%" border="1">
<tr>
<td width="42%" height="25"><font color="#0000CC" size="2">Nouveau mot
de passe : </font></td>
<td width="58%"><form name="form5" method="post" action="">
<font color="#0000CC">
<input type="password" name="mdp1">
</font></form></td>
</tr>
<tr>
<td><font color="#0000CC" size="2">Nouveau mot de passe (vérification)
: </font></td>
<td><form name="form6" method="post" action="">
<font color="#0000CC">
<input type="password" name="mdp1">
</font></form></td>
</tr>
</table>
<p> </p>

<div align="center">
<p align="center"> </p>
<p align="center"> <input name="submit" type="submit" value="Envoyer" >  </p>
</div>
</form>
<p align="center"> </p>

</body>
</html>

merci de ton aide ça doit pas marcher au niveau des champs de texte je sais pas trop comment faire
0
ltstam Messages postés 398 Statut Membre 59
 
excuses moi je voudrais avoir le code la page d'avant celle-ci(la page sont saisies les données qui doivent être traitées ).je veux faire une vérification à mon niveau.OK?
0
ced29
 
je comprends pas trop ce que tu me demandes ??? le code que je t'ai passé est le code de la page utilisateurs.php, page contenant le formulaire et les données qui doivent être traité (nouveau de passe).
Voici la forme de ma page utilisateur.php :

Utilisateur simple :
Nouveau mdp : (champ texte)
Nouveau mdp(vérification): (champ texte)

Utilisateur privilegie :
Nouveau mdp : (champ texte)
Nouveau mdp(vérification): (champ texte)

ENVOYER (bouton submit)

Désolé chui pas très bon en programmation
merci de me consacrer du temps en tout cas
0

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

Posez votre question
ced29
 
quelqu'un pourrait m'aider svp?
0
ltstam Messages postés 398 Statut Membre 59
 
salut fais un echo($_POST) dans ton programme et colles le résultat ici
0
ced29
 
j'ai modifié mon code depuis le voici je vois pas trop ce qui déconne il me dit que mon mot de passe est incorrect

voici mon code UTILISATEURS.PHP :

<?php
//// On appelle la session
session_start();
////je verifie que la ssession est remplie
if (empty($_SESSION['client'] ))
{
header ("Location:index.htm");
exit();
}
//affichage des donnée de l'utilisateur
?>
<?php
mysql_connect("localhost", "root", "adminserv") or die("erreur de connexion au serveur");
mysql_select_db("compte") or die("erreur de connexion a la base de donnees");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Utilisateur</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<body>

<?php
if (isset($_POST['mdpS']) AND isset($_POST['newmdpS']))
{
$retour = mysql_query("SELECT mdp_utilisateur FROM utilisateurs WHERE type_utilisateur ='simple'");
if ($retour == $_POST['mdpS'])
{
$sql = 'update utilisateurs set mdp_utilisateur ="'.$_POST['newmdpS'].'" WHERE type_utilisateur="'.$_POST['simple'].'"';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

}
else
{
echo "Mot de passe incorrect, veuillez recommencer...";
}
}
else
{
echo "Veuillez remplir les champs du formulaire !";
}

if (isset($_POST['mdpP']) AND isset($_POST['newmdpP']))
{
$retour = mysql_query("SELECT mdp_utilisateur FROM utilisateurs WHERE type_utilisateur ='privilegie'");
if ($retour == $_POST['mdpP'])
{
$sql = 'update utilisateurs set mdp_utilisateur ="'.$_POST['newmdpP'].'" WHERE type_utilisateur="'.$_POST['privilegie'].'"';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

}
else
{
echo "Mot de passe incorrect, veuillez recommencer...";
}
}
else
{
echo "Veuillez remplir les champs du formulaire !";
}

mysql_close();
?>

<form name="form1" method="post" action="utilisateurs.php">
<p><strong><font color="#0000CC" size="3">Utilisateur simple :</font></strong></p>
<table width="69%" border="1">
<tr>
<td width="41%"><font color="#0000CC" size="2">Ancien mot de passe
:</font></td>
<td width="59%"> <font color="#0000CC">
<input type="password" name="mdpS">
</font></td>
</tr>
<tr>
<td><font color="#0000CC" size="2">Nouveau mot de passe : </font></td>
<td> <font color="#0000CC">
<input type="password" name="newmdpS">
</font></td>
</tr>
</table>
<p> </p>
<p><strong><font color="#0000CC" size="3">Utilisateur privilégié
:</font></strong></p>
<table width="69%" border="1">
<tr>
<td width="42%" height="25"><font color="#0000CC" size="2">Ancien
mot de passe : </font></td>
<td width="58%"> <font color="#0000CC">
<input type="password" name="mdpP">
</font></td>
</tr>
<tr>
<td><font color="#0000CC" size="2">Nouveau mot de passe : </font></td>
<td> <font color="#0000CC">
<input type="password" name="newmdpP">
</font></td>
</tr>
</table>
<p> </p>
<div align="center">
<p align="center"> </p>
<p align="center">
<input name="submit" type="submit" value="Envoyer" >
  </p>
</div>
<p> </p>
</form>
<p> </p>
<p> </p>
<div align="center"></div>
</form>
<p align="center"> </p>
</td>
</tr>
<tr>

</tr>
</table>
</body>
</html>
0
ced29
 
bonjour à tous,
personne ne peut m'aider svp?
0
ltstam Messages postés 398 Statut Membre 59
 
salut
je te demande de faire un print_r($_POST)à l'intérieur du code de la page histoire de savoir ce que contient la variable $_post.
ok?colles le résultat ici
j'attends
0
ced29
 
ok ça m'affiche Array( [mdpS] =>test [new mdpS] =>test[mdpP] =>admin[newmdpP]=>admin[submit] =>envoyer)

quand j'essaye de modifier le mdp

merci de ton aide
0
ltstam Messages postés 398 Statut Membre 59
 
excuses moi reexpliques moi ce que tu veux faire.Tu as une page sur laquelle le mot de passe est saisie et une autre qui te donne le résultat?
si c'est cela fais le print_r sur la page de résultat
0
ced29
 
Voici la forme de ma page utilisateur.php :

Utilisateur simple :
Ancien mdp : (champ texte)
Nouveau mdp : (champ texte)

Utilisateur privilegie :
Ancien mdp : (champ texte)
Nouveau mdp : (champ texte)

ENVOYER (bouton submit)

ce que je veux faire c'est que lorsque l'on aura inséré dans les champs l'ancien et nouveau mot de passe puis cliqué sur le bouton envoyer et bien la meme page se réafiche en disant simplement votre mot de passe a bien été changé.
0
ltstam Messages postés 398 Statut Membre 59
 
je teste la page et je te fais signe
0
ced29
 
salut , alors t'as eu le temps de tester? j'ai essayé de bidouiller un peu mais ça ne fonctionne toujours pas.
merci de ton aide
@+
0
ced29
 
help please !!!!!!!!!!!!!!!!!
0
Foxy
 
Tu as oublié de faire fetch array dans ta réponse sql
0