Php probleme

Fermé
HotSkill Messages postés 65 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 26 septembre 2010 - 4 oct. 2008 à 16:43
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 - 5 oct. 2008 à 02:09
Bonjour,
jai une erreur mais je sais pas pourquoi :(

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource on line 80

P.S
pour les point avant les égales sont la pas pour rien car si j'enleve les point devant les égales mes message d'erreur ne s afficherait pas




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link href="mysql_connect_enregritrement.css" rel="stylesheet" type="text/css" />
<link href="styles-enregistrer.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php
//définir le titre de la page et metre le menu
$titre_page = "changer mot de passe";
include ('menu.php');



if(isset($_POST['submit']))
{//traiter le formulaire

function echappement ($data)
{ global $bd;//connexion nécessaire
if(ini_get('magic_quotes_gpc'))
{ $data = stripslashes($data);
}
return mysql_escape_string($data);
}//fin de la fonction

mysql_connect("localhost", "root", "");
mysql_select_db("ma base");


$message = NULL;


//vérifier l'exitence du username
if (empty($_POST['nom_d_utilisateur']))
{ $nom_d_utilisateur = FALSE;
$message .= '<p>Vous avez oublié d\'indiquer votre nom d\'utilisateur</p>';
}
else
{ $nom_d_utilisateur = echappement($_POST['nom_d_utilisateur']);
}

//vérifier l'exitence du username
if (empty($_POST['mot_passe']))
{ $mot_passe = FALSE;
$message .= '<p>Vous avez oublié d\'indiquer votre mot de passe</p>';
}
else
{ $mot_passe = echappement($_POST['mot_passe']);
}

//véréfier l' existence d'un mot de passe
if(empty($_POST['mot_de_passe1']))
{ $mot_de_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre nouveau mot de passe </p>';
}
else
{if ($_POST['mot_de_passe1'] == $_POST['mot_de_passe2'])
{ $mot_de_passe = echappement($_POST['mot_de_passe1']);
}
else
{ $mot_de_passe= FALSE;
$message .= '<p>Votre mot de passe est différent de celui que vous avez précédement déclaré</p>';
}
}

if ( $mot_passe && $mot_de_passe && $nom_d_utilisateur)
{


$nom_d_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['nom_d_utilisateur']));
$mot_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_passe']));
$mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));

$rq = "SELECT id_utilisateur FROM utilisateur
WHERE (nom_d_utilisateur= $nom_d_utlisateur AND mot_de_passe=PASSWORD ('mot_passe'))";
$result = mysql_query($rq);
$nb = mysql_num_rows($result);
if($nb == 1)
{ $ligne = mysql_fetch_array($result, MYSQL_NUM);
//créer la requete
$rq = "UPDATE utilisateur SET mot_de_passe=PASSWORD('$mot_passe')
WHERE id_utilisateur=$ligne[0]";
$result = mysql_query($rq);
if (mysql_affected_rows()==1)//si c'est ok
{
include('menu.php');
//envoyer éventuellement un e-mail
?>
<div id="merci">
<p><b>Merci de vous vous être enregistré sur notre site.</b></p>
</div>
<?php
include('pied.php');

exit();
}
else
{echo"<p>Votre mot de passe n'apas pu être modifié.".
"<p></p>" . mysql_error() ."<p></p>";
}
}
else
{ $message .= "<pVotre nom d'utilisateur et votre mot de passe ne correspondent pas à un utilisateur enregistré.</p>";
}
mysql_close();
}
else
{ //Quelque chose n'est pas correct

$message .= "<p>Veuillez avoir l'obligeance de recommencer</p>";
}

}

if(isset($message))
{ echo "<font color='red'>$message</font>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<fieldset>
<legend>Veuillez remplir le formulaire ci-joint:</legend>




<div id="username">
<p><b>nom d'utilisateur :</b>
<input type="text" name="nom_d_utilisateur"
size="20" maxlength="40"
value="<?php if (isset($_POST['nom_d_utilisateur']))
echo $_POST['nom_d_utilisateur'];?>"/>
</p>
</div>


<div id="email">
<p><b>Mot de passe actuel :</b>
<input type="password" name="mot_passe"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_passe']))
echo $_POST['mot_passe'];?>"/>
</p>
</div>


<div id="mot_passe_1">
<p><b>Votre nouveau mot de passe :</b>
<input type="password" name="mot_de_passe1"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe1']))
echo $_POST['mot_de_passe1'];?>" />
</p>
</div>


<div id="mot_de_passe2">
<p><b>Confirnmez votre neauvou mot de passe :</b>
<input type="password" name="mot_de_passe2"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe2']))
echo $_POST['mot_de_passe2'];?>"/>
</p>
</div>


</fieldset>
<div id="button">
<input type="submit" name="submit"
value="S'inscire"/>
</div>
</div>

</form><!-- fin du formulaire-->


<?php
//fin du l'instruction conditionnelle principale
include('pied.php');
?>

</body>
</html>


Amicalement HotSkill
A voir également:

8 réponses

divland Messages postés 194 Date d'inscription dimanche 22 juin 2008 Statut Membre Dernière intervention 4 septembre 2009 13
4 oct. 2008 à 18:31
bonjour,
il y a une erreur sur la ligne :

WHERE (nom_d_utilisateur= $nom_d_utlisateur AND mot_de_passe=PASSWORD ('mot_passe'))";

il manque un "i" entre "$nom_d_ut" et "lisateur"

...
0
HotSkill Messages postés 65 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 26 septembre 2010 1
4 oct. 2008 à 20:44
ok merci mais malgré ca cest toujour la meme erreur qui apparait :(

Amicalement HotSkill
0
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 95
5 oct. 2008 à 00:40
$rq = "SELECT id_utilisateur FROM utilisateur WHERE nom_d_utilisateur='$nom_d_utilisateur' AND mot_de_passe='$mot_de_passe' ";

Ca donne quoi ?
0
HotSkill Messages postés 65 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 26 septembre 2010 1
5 oct. 2008 à 01:16
ok lerreu ne s'affiche pu mais mon code ne fait rien du tout quand je clique sur changer mon mot de passe je reste a meme page et en plus cela ne change meme pas le mot de passe donc revoici mon code corrigé:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link href="mysql_connect_enregritrement.css" rel="stylesheet" type="text/css" />
<link href="styles-enregistrer.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php
//définir le titre de la page et metre le menu
$titre_page = "changer mot de passe";
include ('menu.php');



if(isset($_POST['submit']))
{//traiter le formulaire

function echappement ($data)
{ global $bd;//connexion nécessaire
if(ini_get('magic_quotes_gpc'))
{ $data = stripslashes($data);
}
return mysql_escape_string($data);
}//fin de la fonction

mysql_connect("localhost", "root", "");
mysql_select_db("ma base");


$message = NULL;


//vérifier l'exitence du username
if (empty($_POST['nom_d_utilisateur']))
{ $nom_d_utilisateur = FALSE;
$message .= '<p>Vous avez oublié d\'indiquer votre nom d\'utilisateur</p>';
}
else
{ $nom_d_utilisateur = echappement($_POST['nom_d_utilisateur']);
}

//vérifier l'exitence du username
if (empty($_POST['mot_passe']))
{ $mot_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre ancien mot de passe</p>';
}
else
{ $mot_passe = echappement($_POST['mot_passe']);
}

//véréfier l' existence d'un mot de passe
if(empty($_POST['mot_de_passe1']))
{ $mot_de_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre nouveau mot de passe </p>';
}
else
{if ($_POST['mot_de_passe1'] == $_POST['mot_de_passe2'])
{ $mot_de_passe = echappement($_POST['mot_de_passe1']);
}
else
{ $mot_de_passe= FALSE;
$message .= '<p>Votre mot de passe est différent de celui que vous avez précédement déclaré</p>';
}
}

if ( $mot_passe && $mot_de_passe && $nom_d_utilisateur)
{


$nom_d_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['nom_d_utilisateur']));
$mot_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_passe']));
$mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));

$rq = "SELECT id_utilisateur FROM utilisateur
WHERE (nom_d_utilisateur= '$nom_d_utilisateur' AND mot_de_passe=PASSWORD ('mot_passe'))";
$result = mysql_query($rq)or die("Erreur lors de l'exécution de la requête.<br />\nMySQL a retourné :<br />\n". mysql_error());
$nb = mysql_num_rows($result);
if($nb == 1)
{ $ligne = mysql_fetch_array($result, MYSQL_NUM);
//créer la requete
$rq = "UPDATE utilisateur SET mot_de_passe=PASSWORD('$mot_de_passe')
WHERE id_utilisateur=$ligne[0]";
$result = mysql_query($rq);
if (mysql_affected_rows()== 1)//si c'est ok
{
include('menu.php');
//envoyer éventuellement un e-mail


echo"<p><b>Votre nouveau mot de passe vient d'être modifié.</b></>";

include('pied.php');

exit();
}
else
{ echo"<p>Votre mot de passe n'a pas pu être modifié.".
"<p></p>" . mysql_error() ."<p></p>";
}
}
else
{ $message .= "<pVotre nom d'utilisateur et votre mot de passe ne correspondent pas à un utilisateur enregistré.</p>";
}
mysql_close();
}
else
{ //Quelque chose n'est pas correct

$message .= "<p>Veuillez avoir l'obligeance de recommencer</p>";
}

}

if(isset($message))
{ echo "<font color='red'>$message</font>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<fieldset>
<legend>Veuillez remplir le formulaire ci-joint:</legend>




<div id="username">
<p><b>nom d'utilisateur :</b>
<input type="text" name="nom_d_utilisateur"
size="20" maxlength="40"
value="<?php if (isset($_POST['nom_d_utilisateur']))
echo $_POST['nom_d_utilisateur'];?>"/>
</p>
</div>


<div id="email">
<p><b>Mot de passe actuel :</b>
<input type="password" name="mot_passe"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_passe']))
echo $_POST['mot_passe'];?>"/>
</p>
</div>


<div id="mot_passe_1">
<p><b>Votre nouveau mot de passe :</b>
<input type="password" name="mot_de_passe1"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe1']))
echo $_POST['mot_de_passe1'];?>" />
</p>
</div>


<div id="mot_de_passe2">
<p><b>Confirnmez votre neauvou mot de passe :</b>
<input type="password" name="mot_de_passe2"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe2']))
echo $_POST['mot_de_passe2'];?>"/>
</p>
</div>


</fieldset>
<div id="button">
<input type="submit" name="submit"
value="Cahnger mon mot de passe"/>
</div>
</div>

</form><!-- fin du formulaire-->


<?php
//fin du l'instruction conditionnelle principale
include('pied.php');
?>

</body>
</html>
0

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

Posez votre question
HotSkill Messages postés 65 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 26 septembre 2010 1
5 oct. 2008 à 01:16
ok lerreu ne s'affiche pu mais mon code ne fait rien du tout quand je clique sur changer mon mot de passe je reste a meme page et en plus cela ne change meme pas le mot de passe donc revoici mon code corrigé:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link href="mysql_connect_enregritrement.css" rel="stylesheet" type="text/css" />
<link href="styles-enregistrer.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php
//définir le titre de la page et metre le menu
$titre_page = "changer mot de passe";
include ('menu.php');



if(isset($_POST['submit']))
{//traiter le formulaire

function echappement ($data)
{ global $bd;//connexion nécessaire
if(ini_get('magic_quotes_gpc'))
{ $data = stripslashes($data);
}
return mysql_escape_string($data);
}//fin de la fonction

mysql_connect("localhost", "root", "");
mysql_select_db("ma base");


$message = NULL;


//vérifier l'exitence du username
if (empty($_POST['nom_d_utilisateur']))
{ $nom_d_utilisateur = FALSE;
$message .= '<p>Vous avez oublié d\'indiquer votre nom d\'utilisateur</p>';
}
else
{ $nom_d_utilisateur = echappement($_POST['nom_d_utilisateur']);
}

//vérifier l'exitence du username
if (empty($_POST['mot_passe']))
{ $mot_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre ancien mot de passe</p>';
}
else
{ $mot_passe = echappement($_POST['mot_passe']);
}

//véréfier l' existence d'un mot de passe
if(empty($_POST['mot_de_passe1']))
{ $mot_de_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre nouveau mot de passe </p>';
}
else
{if ($_POST['mot_de_passe1'] == $_POST['mot_de_passe2'])
{ $mot_de_passe = echappement($_POST['mot_de_passe1']);
}
else
{ $mot_de_passe= FALSE;
$message .= '<p>Votre mot de passe est différent de celui que vous avez précédement déclaré</p>';
}
}

if ( $mot_passe && $mot_de_passe && $nom_d_utilisateur)
{


$nom_d_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['nom_d_utilisateur']));
$mot_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_passe']));
$mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));

$rq = "SELECT id_utilisateur FROM utilisateur
WHERE (nom_d_utilisateur= '$nom_d_utilisateur' AND mot_de_passe=PASSWORD ('mot_passe'))";
$result = mysql_query($rq)or die("Erreur lors de l'exécution de la requête.<br />\nMySQL a retourné :<br />\n". mysql_error());
$nb = mysql_num_rows($result);
if($nb == 1)
{ $ligne = mysql_fetch_array($result, MYSQL_NUM);
//créer la requete
$rq = "UPDATE utilisateur SET mot_de_passe=PASSWORD('$mot_de_passe')
WHERE id_utilisateur=$ligne[0]";
$result = mysql_query($rq);
if (mysql_affected_rows()== 1)//si c'est ok
{
include('menu.php');
//envoyer éventuellement un e-mail


echo"<p><b>Votre nouveau mot de passe vient d'être modifié.</b></>";

include('pied.php');

exit();
}
else
{ echo"<p>Votre mot de passe n'a pas pu être modifié.".
"<p></p>" . mysql_error() ."<p></p>";
}
}
else
{ $message .= "<pVotre nom d'utilisateur et votre mot de passe ne correspondent pas à un utilisateur enregistré.</p>";
}
mysql_close();
}
else
{ //Quelque chose n'est pas correct

$message .= "<p>Veuillez avoir l'obligeance de recommencer</p>";
}

}

if(isset($message))
{ echo "<font color='red'>$message</font>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<fieldset>
<legend>Veuillez remplir le formulaire ci-joint:</legend>




<div id="username">
<p><b>nom d'utilisateur :</b>
<input type="text" name="nom_d_utilisateur"
size="20" maxlength="40"
value="<?php if (isset($_POST['nom_d_utilisateur']))
echo $_POST['nom_d_utilisateur'];?>"/>
</p>
</div>


<div id="email">
<p><b>Mot de passe actuel :</b>
<input type="password" name="mot_passe"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_passe']))
echo $_POST['mot_passe'];?>"/>
</p>
</div>


<div id="mot_passe_1">
<p><b>Votre nouveau mot de passe :</b>
<input type="password" name="mot_de_passe1"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe1']))
echo $_POST['mot_de_passe1'];?>" />
</p>
</div>


<div id="mot_de_passe2">
<p><b>Confirnmez votre neauvou mot de passe :</b>
<input type="password" name="mot_de_passe2"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe2']))
echo $_POST['mot_de_passe2'];?>"/>
</p>
</div>


</fieldset>
<div id="button">
<input type="submit" name="submit"
value="Cahnger mon mot de passe"/>
</div>
</div>

</form><!-- fin du formulaire-->


<?php
//fin du l'instruction conditionnelle principale
include('pied.php');
?>

</body>
</html>
0
HotSkill Messages postés 65 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 26 septembre 2010 1
5 oct. 2008 à 01:16
ok lerreu ne s'affiche pu mais mon code ne fait rien du tout quand je clique sur changer mon mot de passe je reste a meme page et en plus cela ne change meme pas le mot de passe donc revoici mon code corrigé:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link href="mysql_connect_enregritrement.css" rel="stylesheet" type="text/css" />
<link href="styles-enregistrer.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php
//définir le titre de la page et metre le menu
$titre_page = "changer mot de passe";
include ('menu.php');



if(isset($_POST['submit']))
{//traiter le formulaire

function echappement ($data)
{ global $bd;//connexion nécessaire
if(ini_get('magic_quotes_gpc'))
{ $data = stripslashes($data);
}
return mysql_escape_string($data);
}//fin de la fonction

mysql_connect("localhost", "root", "");
mysql_select_db("ma base");


$message = NULL;


//vérifier l'exitence du username
if (empty($_POST['nom_d_utilisateur']))
{ $nom_d_utilisateur = FALSE;
$message .= '<p>Vous avez oublié d\'indiquer votre nom d\'utilisateur</p>';
}
else
{ $nom_d_utilisateur = echappement($_POST['nom_d_utilisateur']);
}

//vérifier l'exitence du username
if (empty($_POST['mot_passe']))
{ $mot_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre ancien mot de passe</p>';
}
else
{ $mot_passe = echappement($_POST['mot_passe']);
}

//véréfier l' existence d'un mot de passe
if(empty($_POST['mot_de_passe1']))
{ $mot_de_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre nouveau mot de passe </p>';
}
else
{if ($_POST['mot_de_passe1'] == $_POST['mot_de_passe2'])
{ $mot_de_passe = echappement($_POST['mot_de_passe1']);
}
else
{ $mot_de_passe= FALSE;
$message .= '<p>Votre mot de passe est différent de celui que vous avez précédement déclaré</p>';
}
}

if ( $mot_passe && $mot_de_passe && $nom_d_utilisateur)
{


$nom_d_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['nom_d_utilisateur']));
$mot_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_passe']));
$mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));

$rq = "SELECT id_utilisateur FROM utilisateur
WHERE (nom_d_utilisateur= '$nom_d_utilisateur' AND mot_de_passe=PASSWORD ('mot_passe'))";
$result = mysql_query($rq)or die("Erreur lors de l'exécution de la requête.<br />\nMySQL a retourné :<br />\n". mysql_error());
$nb = mysql_num_rows($result);
if($nb == 1)
{ $ligne = mysql_fetch_array($result, MYSQL_NUM);
//créer la requete
$rq = "UPDATE utilisateur SET mot_de_passe=PASSWORD('$mot_de_passe')
WHERE id_utilisateur=$ligne[0]";
$result = mysql_query($rq);
if (mysql_affected_rows()== 1)//si c'est ok
{
include('menu.php');
//envoyer éventuellement un e-mail


echo"<p><b>Votre nouveau mot de passe vient d'être modifié.</b></>";

include('pied.php');

exit();
}
else
{ echo"<p>Votre mot de passe n'a pas pu être modifié.".
"<p></p>" . mysql_error() ."<p></p>";
}
}
else
{ $message .= "<pVotre nom d'utilisateur et votre mot de passe ne correspondent pas à un utilisateur enregistré.</p>";
}
mysql_close();
}
else
{ //Quelque chose n'est pas correct

$message .= "<p>Veuillez avoir l'obligeance de recommencer</p>";
}

}

if(isset($message))
{ echo "<font color='red'>$message</font>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<fieldset>
<legend>Veuillez remplir le formulaire ci-joint:</legend>




<div id="username">
<p><b>nom d'utilisateur :</b>
<input type="text" name="nom_d_utilisateur"
size="20" maxlength="40"
value="<?php if (isset($_POST['nom_d_utilisateur']))
echo $_POST['nom_d_utilisateur'];?>"/>
</p>
</div>


<div id="email">
<p><b>Mot de passe actuel :</b>
<input type="password" name="mot_passe"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_passe']))
echo $_POST['mot_passe'];?>"/>
</p>
</div>


<div id="mot_passe_1">
<p><b>Votre nouveau mot de passe :</b>
<input type="password" name="mot_de_passe1"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe1']))
echo $_POST['mot_de_passe1'];?>" />
</p>
</div>


<div id="mot_de_passe2">
<p><b>Confirnmez votre neauvou mot de passe :</b>
<input type="password" name="mot_de_passe2"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe2']))
echo $_POST['mot_de_passe2'];?>"/>
</p>
</div>


</fieldset>
<div id="button">
<input type="submit" name="submit"
value="Cahnger mon mot de passe"/>
</div>
</div>

</form><!-- fin du formulaire-->


<?php
//fin du l'instruction conditionnelle principale
include('pied.php');
?>

</body>
</html>
0
HotSkill Messages postés 65 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 26 septembre 2010 1
5 oct. 2008 à 01:17
ok lerreu ne s'affiche pu mais mon code ne fait rien du tout quand je clique sur changer mon mot de passe je reste a meme page et en plus cela ne change meme pas le mot de passe donc revoici mon code corrigé:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link href="mysql_connect_enregritrement.css" rel="stylesheet" type="text/css" />
<link href="styles-enregistrer.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php
//définir le titre de la page et metre le menu
$titre_page = "changer mot de passe";
include ('menu.php');



if(isset($_POST['submit']))
{//traiter le formulaire

function echappement ($data)
{ global $bd;//connexion nécessaire
if(ini_get('magic_quotes_gpc'))
{ $data = stripslashes($data);
}
return mysql_escape_string($data);
}//fin de la fonction

mysql_connect("localhost", "root", "");
mysql_select_db("ma base");


$message = NULL;


//vérifier l'exitence du username
if (empty($_POST['nom_d_utilisateur']))
{ $nom_d_utilisateur = FALSE;
$message .= '<p>Vous avez oublié d\'indiquer votre nom d\'utilisateur</p>';
}
else
{ $nom_d_utilisateur = echappement($_POST['nom_d_utilisateur']);
}

//vérifier l'exitence du username
if (empty($_POST['mot_passe']))
{ $mot_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre ancien mot de passe</p>';
}
else
{ $mot_passe = echappement($_POST['mot_passe']);
}

//véréfier l' existence d'un mot de passe
if(empty($_POST['mot_de_passe1']))
{ $mot_de_passe = FALSE;
$message = '<p>Vous avez oublié d\'indiquer votre nouveau mot de passe </p>';
}
else
{if ($_POST['mot_de_passe1'] == $_POST['mot_de_passe2'])
{ $mot_de_passe = echappement($_POST['mot_de_passe1']);
}
else
{ $mot_de_passe= FALSE;
$message .= '<p>Votre mot de passe est différent de celui que vous avez précédement déclaré</p>';
}
}

if ( $mot_passe && $mot_de_passe && $nom_d_utilisateur)
{


$nom_d_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['nom_d_utilisateur']));
$mot_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_passe']));
$mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));

$rq = "SELECT id_utilisateur FROM utilisateur
WHERE (nom_d_utilisateur= '$nom_d_utilisateur' AND mot_de_passe=PASSWORD ('mot_passe'))";
$result = mysql_query($rq)or die("Erreur lors de l'exécution de la requête.<br />\nMySQL a retourné :<br />\n". mysql_error());
$nb = mysql_num_rows($result);
if($nb == 1)
{ $ligne = mysql_fetch_array($result, MYSQL_NUM);
//créer la requete
$rq = "UPDATE utilisateur SET mot_de_passe=PASSWORD('$mot_de_passe')
WHERE id_utilisateur=$ligne[0]";
$result = mysql_query($rq);
if (mysql_affected_rows()== 1)//si c'est ok
{
include('menu.php');
//envoyer éventuellement un e-mail


echo"<p><b>Votre nouveau mot de passe vient d'être modifié.</b></>";

include('pied.php');

exit();
}
else
{ echo"<p>Votre mot de passe n'a pas pu être modifié.".
"<p></p>" . mysql_error() ."<p></p>";
}
}
else
{ $message .= "<pVotre nom d'utilisateur et votre mot de passe ne correspondent pas à un utilisateur enregistré.</p>";
}
mysql_close();
}
else
{ //Quelque chose n'est pas correct

$message .= "<p>Veuillez avoir l'obligeance de recommencer</p>";
}

}

if(isset($message))
{ echo "<font color='red'>$message</font>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<fieldset>
<legend>Veuillez remplir le formulaire ci-joint:</legend>




<div id="username">
<p><b>nom d'utilisateur :</b>
<input type="text" name="nom_d_utilisateur"
size="20" maxlength="40"
value="<?php if (isset($_POST['nom_d_utilisateur']))
echo $_POST['nom_d_utilisateur'];?>"/>
</p>
</div>


<div id="email">
<p><b>Mot de passe actuel :</b>
<input type="password" name="mot_passe"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_passe']))
echo $_POST['mot_passe'];?>"/>
</p>
</div>


<div id="mot_passe_1">
<p><b>Votre nouveau mot de passe :</b>
<input type="password" name="mot_de_passe1"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe1']))
echo $_POST['mot_de_passe1'];?>" />
</p>
</div>


<div id="mot_de_passe2">
<p><b>Confirnmez votre neauvou mot de passe :</b>
<input type="password" name="mot_de_passe2"
size="20" maxlength="40"
value="<?php if (isset($_POST['mot_de_passe2']))
echo $_POST['mot_de_passe2'];?>"/>
</p>
</div>


</fieldset>
<div id="button">
<input type="submit" name="submit"
value="Cahnger mon mot de passe"/>
</div>
</div>

</form><!-- fin du formulaire-->


<?php
//fin du l'instruction conditionnelle principale
include('pied.php');
?>

</body>
</html>
0
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 95
5 oct. 2008 à 02:09
Ton code est un peu bizarre à vrai dire ... Et meme, je m'y perds ...

Pourquoi par ex. fais tu une requete pour savoir si il y'a bien qu'un seul utilisateur qui à ce login et mot de passe ?

Ensuite, tu fais l'update du mot de passe, juste après avoir affiché la ligne qui corresponds à login & mdp ; sachant que mdp ne changes pas vu que tu fais l'update juste après ta requete ?

Ou alors c'est pas trop clair la dedans ...
0