<?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에 따라 작성되었습니다. 이제 문제는 잘못된 비밀번호를 입력하면 비밀번호가 잘못되었다는 메시지가 표시되지만 데이터베이스는 새 비밀번호를 업데이트하세요. 수정 방법을 알려주세요
콘텐츠를 표시한 후 PHP 프로그램은 die(),exit()와 같은 종료가 발생하거나 실행이 완료될 때까지 계속 실행됩니다.
그래서 문제를 해결하는 방법은 두 가지가 있습니다
1. 판단 후 주사위를 추가하세요
2. 판단 후 코드를 else에 넣으세요
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}'" ) 또는 종료( "데이터베이스 저장 failed" . mysql_error ());//위 사용자 이름과 비밀번호가 잘 결정되면 데이터베이스로 업데이트합니다
}
mysql_close ( $con );
?>
가장 쉬운 방법은
비밀번호 판단에서 비밀번호가 틀렸다고 판단한 후 프로그램을 종료하는 것입니다
.