PHP-Passwortänderungssystem, das Passwort wird auch nach Eingabe eines falschen Passworts geändert
**哥是标准身材。
**哥是标准身材。 2018-03-06 15:28:17
0
7
1320
<?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>

Der Code ist gemäß http://blog.csdn.net/qazcxh/article/details/45726911 geschrieben. Das Problem besteht nun darin, dass nach Eingabe des falschen Passworts angezeigt wird, dass das Passwort falsch ist, die Datenbank jedoch Aktualisieren Sie das neue Passwort. Bitte sagen Sie mir, wie ich es ändern kann

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

Antworte allen(3)
段旭涛

php程序在显示内容之后,依然会继续执行,一直到碰到die()、exit()之类的终止或者一直到执行完。
所以处理你的问题有两种方法

1.判断之后加die
2.把判断之后的代码放到else里面

  • Antwort 是的,是在判断后加上了die就处理好了,刚开始学习PHP,多几个IF就感觉有点看不过来了。CSDN的文章怎么这么不严谨,都没实际去测试就放上来我也是醉了,幸好没造成太大损失。。
    **哥是标准身材。 Autor 2018-03-07 11:08:36
黄天敏

 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 ); 

  ?> 

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


炎

最简单的方法就是

在密码判断内判断密码错误之后 加die;终止程序

  • Antwort 感谢,已经处理好了~!
    **哥是标准身材。 Autor 2018-03-06 18:18:04
  • Antwort 不用客气
    Autor 2018-03-07 09:10:20
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage