Php probleme

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
Configuration: Windows Vista
Firefox 3.0.3

8 réponses

  1. 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"

    ...
    1. ok merci mais malgré ca cest toujour la meme erreur qui apparait :(

      Amicalement HotSkill
      1. $rq = "SELECT id_utilisateur FROM utilisateur WHERE nom_d_utilisateur='$nom_d_utilisateur' AND mot_de_passe='$mot_de_passe' ";

        Ca donne quoi ?
        1. 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>
          1. 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>
            1. 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>
              1. 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>
                1. 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 ...