一般用户修改密码都是要有一下步骤的。
一丶填写原密码
二丶填写新密码并填写确认密码。
如下图。
当密码都填写完成了之后就可以去判断这些密码然后到数据库去修改了。
第一步判断数据是否填写完整。新密码与确认新密码是否一致。如果不一致那么就无法修改。如下代码
var Ypassword = $("#Ypassword").val();//原密码
var Xpassword = $("#Xpassword").val();//新密码
var Qpassword = $("#Qpassword").val();//确认密码
if (Ypassword =="" || Xpassword =="" || Qpassword =="") {
layer.alert(“请填写完整!”, { icon: 0, title: “提示” });
return;
}
if (Xpassword!=Qpassword) {
layer.alert(“你两次输入的新密码不一致,请重新输入!”,{ icon: 0, title: “提示” });
}
第二步丶判断新密码是否跟原来的密码重复,如果重复请重新填写
if(Ypassword==Xpassword){
layer.alert(“你两次输入的新密码不一致,请重新输入!”,{ icon: 0, title: “提示” });
}
当一切判断条件完成之后就提交数据去控制器修改。
这里提交的数据只需要提交3条,分别是原密码,新密码,单前登陆的用户ID.
控制器接收到了着3条数据之后就去查询,根据用户ID,密码查询,如果用户密码错误就提示原密码输入不正确。如果修改成功就清楚登陆的Session。
try
{
var SelectP = (from tbUser in MyModels.S_User
where tbUser.UserID == UserID &&
tbUser.Password == Jpassword
select tbUser).Single();
SelectP.Password = password;
MyModels.Entry(SelectP).State = EntityState.Modified;
if (MyModels.SaveChanges() > 0)
{
strMsg = “修改成功”;
Session.Clear();
}
}
catch (Exception)
{
strMsg = “您输入的旧密码不存在!”;
}
回到页面如果修改成功就直接刷新当前页面,因为控制器清空了session如果一刷新就会回到登陆页面。
if (Msg==“修改成功”) {
layer.alert(Msg,{ icon: 1, title: “提示” },function(){
location.reload();
});