PHP パスワード変更システム、間違ったパスワードを入力した後でもパスワードが変更される
**哥是标准身材。
**哥是标准身材。 2018-03-06 15:28:17
0
7
1296
<?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>

コードは http://blog.csdn.net/qazcxh/article/details/45726911 に従って書かれています。問題は、間違ったパスワードを入力すると、パスワードが間違っているというプロンプトが表示されることです。データベースは新しいものに更新されます。パスワード、変更方法を教えてください

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

全員に返信(3)
段旭涛

コンテンツを表示した後、PHP プログラムは、die()、exit() などの終了に遭遇するか、実行が完了するまで実行を続けます。
問題に対処するには2つの方法があります

1.判定の後にdieを追加します
2.判定の後のコードをelseに入れます

いいねを押す +0
  • 返事 はい、判定後に die を追加したら解決しました。PHP を学び始めた当初は、さらに IF を繰り返すだけで少し圧倒されました。 CSDN の記事はなぜ不正確なのでしょうか? 私も酔っていましたが、それほど大きな被害はありませんでした。 。
    **哥是标准身材。 著者 2018-03-07 11:08:36
黄天敏

if ($oldpassword!=$dbpassword) {

<script type="text/javascript">

window.location.href="changepasswd; .html";

</script>

<?php

mysql_query ( "update t_account setpassword='{$newpassword}' where username='{$username}'" ) or die ( "データベースを保存失敗しました" . mysql_error ());//上記のユーザー名とパスワードが適切に決定されたら、データベースに更新します

}

mysql_close ( $con );

?>

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

いいねを押す +0
  • 返事 言われた通りに入れてみましたが、まだこんな感じです -
    **哥是标准身材。 著者 2018-03-06 17:52:43
  • 返事 ありがとうございます、1階マスターの方法で解決しました~!
    **哥是标准身材。 著者 2018-03-06 18:18:16
炎

最も簡単な方法は、

パスワード判定でパスワードが間違っていると判断した後、dieを追加してプログラムを終了することです

いいねを押す +0
  • 返事 ありがとう、お世話になりました~!
    **哥是标准身材。 著者 2018-03-06 18:18:04
  • 返事 どういたしまして
    著者 2018-03-07 09:10:20
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート