欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php+ajax 更改密码的问题

程序员文章站 2022-06-05 23:03:22
...
别的错误都可以判读,新密码和重复密码不管是不是一致,都会开始倒计时发送验证码,不知道是什么原因?

这是js代码
/**
* tpl/change_pwd验证获取验证码
*/
function getCode_pwd(){
var oldpwd_val = $("#oldpwd").val();
var pwd_val = $("#pwd").val();
var re_pwd_val = $("#re_pwd").val();
if(oldpwd_val ==""){
$("#oldpwd_1").html("* 初始密码不能为空");
form_pwd.oldpwd.focus();
return false;
}else{
$("#oldpwd_1").html("");
}
if(pwd_val ==""){
$("#pwd_1").html("* 新密码不能为空");
form_pwd.pwd.focus();
return false;
}else{
$("#pwd_1").html("");
}
if(re_pwd_val ==""){
$("#re_pwd_1").html("* 重复密码不能为空");
form_pwd.re_pwd.focus();
return false;
}else{
$("#re_pwd_1").html("");
}
$.ajax({
type: "POST",
url: "../inc/changePwd.inc.php",
data:{
oldpwd : oldpwd_val,
pwd: pwd_val,
re_pwd : re_pwd_val
},
success: function(msg){
if(msg == "success"){
nowTime = 30;
$('#ck').attr('disabled',true);
$('#ck').attr('value', '查看手机(' + nowTime + ')');
setInterval("SetRemainTime()",1000);
}else{
if(msg == "error1"){
$("#oldpwd_1").html("* 原始密码输入错误");
return false;
}else{
$("#oldpwd_1").html("");
}
if(msg == "error2"){
$("#re_pwd_1").html("* 两次输入密码不一致");
return false;
}else{
$("#re_pwd_1").html("");
}
}
}
});
}

这是changePwd.inc.php代码
session_start();
include_once ("../conn/conn.php");
//include ("../information/check_interface.php");
$oldpwd = mysql_real_escape_string ($_POST['oldpwd']);
$pwd = mysql_real_escape_string ($_POST['pwd']);
$re_pwd = mysql_real_escape_string ($_POST['re_pwd']);
$user=$_SESSION['user'];
$result =mysql_query("SELECT * FROM tb_admin WHERE admin_user = '$user' AND admin_pwd = '$oldpwd'");
if(mysql_num_rows($result)!=0){
if(strtoupper($pwd) == strtoupper($re_pwd)){
$sql=mysql_query("SELECT admin_user,mobile_phone FROM tb_admin WHERE admin_user = '" . $user . "'");
while($row=mysql_fetch_array($sql)){
$mobile = $row['mobile_phone'];
$_SESSION['mobile'] = $mobile;
}
echo "success";
//echo postSendMessage();
}else{
echo "error2";
}
}else{
echo "error1";
}
mysql_close($conn);
?>
这是页面代码


























用户名:
旧密码:


新密码:


重复密码:


验证码:



操作:


回复讨论(解决方案)

你没有检查 新密码和重复密码 是否一致的代码

你没有检查 新密码和重复密码 是否一致的代码


有啊,在changePwd.inc.php代码里面,if(strtoupper($pwd) == strtoupper($re_pwd))

太长,看的眼睛疼
个人觉得是你的if 判断写的有点凌乱了

if(mysql_num_rows($result)!=0){if(strtoupper($pwd) == strtoupper($re_pwd)){$sql=mysql_query("SELECT admin_user,mobile_phone FROM tb_admin WHERE admin_user = '" . $user . "'");while($row=mysql_fetch_array($sql)){        $mobile = $row['mobile_phone'];$_SESSION['mobile'] = $mobile;}	echo "success";//echo postSendMessage();}else{echo "error2";}}else{echo "error1";}


这边肯定写错什么地方了,或者是 没有报错的时候没有结束 代码,后面的时间倒计时继续执行了

太长,看的眼睛疼
个人觉得是你的if 判断写的有点凌乱了

if(mysql_num_rows($result)!=0){if(strtoupper($pwd) == strtoupper($re_pwd)){$sql=mysql_query("SELECT admin_user,mobile_phone FROM tb_admin WHERE admin_user = '" . $user . "'");while($row=mysql_fetch_array($sql)){        $mobile = $row['mobile_phone'];$_SESSION['mobile'] = $mobile;}	echo "success";//echo postSendMessage();}else{echo "error2";}}else{echo "error1";}


这边肯定写错什么地方了,或者是 没有报错的时候没有结束 代码,后面的时间倒计时继续执行了

没有 在 报错的时候, 结束代码

html报错之后你没有停啊,就一直执行下去了啊。