Système de changement de mot de passe PHP, le mot de passe est toujours modifié après avoir entré un mauvais mot de passe
**哥是标准身材。
**哥是标准身材。 2018-03-06 15:28:17
0
7
1344
<?php 
  session_start (); 
  $username = $_REQUEST ["username"]; 
  $oldpassword = $_REQUEST ["oldpassword"]; 
  $newpassword = $_REQUEST ["newpassword"]; 
  $con = mysql_connect ( "localhost", "root", "root" ); 
  if (! $con) { 
    die ( '数据库连接失败' . $mysql_error () ); 
  } 
  mysql_select_db("mtdb",$con);
  $dbusername = null; 
  $dbpassword = null; 
  $result = mysql_query ( "select * from t_account where username ='{$username}'" ); 
  while ( $row = mysql_fetch_array ( $result ) ) { 
    $dbusername = $row ["username"]; 
    $dbpassword = $row ["password"]; 
  } 
  if (is_null ( $dbusername )) { 
    ?> 
  <script type="text/javascript"> 
    alert("用户名不存在"); 
    window.location.href="changepasswd.html"; 
  </script>  
  <?php 
  } 
  if ($oldpassword!=$dbpassword) { 
    ?> 
  <script type="text/javascript"> 
    alert("密码错误"); 
window.location.href="changepasswd.html"; 
  </script> 
  <?php 
  } 
  mysql_query ( "update t_account set password='{$newpassword}' where username='{$username}'" ) or die ( "存入数据库失败" . mysql_error () );//如果上述用户名密码判定不错,则update进数据库中 
  mysql_close ( $con ); 
  ?> 
  <script type="text/javascript"> 
    alert("密码修改成功"); 
    window.location.href="changepasswd.html"; 
  </script>

Le code est écrit selon http://blog.csdn.net/qazcxh/article/details/45726911. Le problème est maintenant qu'après avoir entré un mauvais mot de passe, il vous demandera que le mot de passe est erroné, mais la base de données le fera. mettez à jour le nouveau mot de passe. Veuillez me dire comment le modifier

**哥是标准身材。
**哥是标准身材。

répondre à tous(3)
段旭涛

Après avoir affiché le contenu, le programme php continuera à s'exécuter jusqu'à ce qu'il rencontre une terminaison telle que die(), exit() ou jusqu'à ce que l'exécution soit terminée.
Il y a donc deux façons de résoudre votre problème

1 Ajouter un dé après le jugement
2. Mettez le code après le jugement dans else

.
  • répondre Oui, cela a été résolu après avoir ajouté die après jugement. Lorsque j'ai commencé à apprendre PHP, je me suis senti un peu dépassé après quelques IF supplémentaires. Pourquoi l'article du CSDN est-il si imprécis ? Je l'ai publié sans vraiment le tester. J'étais aussi ivre. Heureusement, cela n'a pas causé trop de dégâts. .
    **哥是标准身材。 auteur 2018-03-07 11:08:36
黄天敏

if ($oldpassword!=$dbpassword) {

?>

<script type="text/javascript"> alerte("Mot de passe incorrect"); .html";

</script>

<?php

mysql_query ( "update t_account set password='{$newpassword}'where username='{$username}'" ) ou mourir ( "Enregistrer la base de données failed" . mysql_error ());//Si le nom d'utilisateur et le mot de passe ci-dessus sont bien déterminés, mettez à jour dans la base de données

}

mysql_close ( $con );

?>

这样你吧更新语句放外面,无论什么密码都会更新啊= = 还有 mysql不要用了尽量使用mysqli吧

  • répondre Je l'ai mis comme tu l'as dit, et ça ressemble toujours à ça - -
    **哥是标准身材。 auteur 2018-03-06 17:52:43
  • répondre Merci, cela a été résolu selon la méthode du maître du premier étage~ !
    **哥是标准身材。 auteur 2018-03-06 18:18:16
炎

Le moyen le plus simple est de

Après avoir jugé que le mot de passe est erroné lors du jugement du mot de passe, ajoutez le dé ; terminez le programme

 ;
  • répondre Merci, c'est réglé ~ !
    **哥是标准身材。 auteur 2018-03-06 18:18:04
  • répondre Je vous en prie
    auteur 2018-03-07 09:10:20
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal