//此为一个修改密码方法,通过弹出框来修改;
//首先是一个隐藏的form表单;
<div id="divFrm" style="display:none;">
<form method="post" class="frmPwd" action="">
用户旧密码:<input type="password" name="old_pwd"><br>
用户新密码:<input type="password" name="new_pwd"><br>
确认新密码:<input type="password" name="new_pwd2"><br>
<input type="hidden" name="user_name" value="{$Think.session.user}">//此为隐藏ID,为获取用户ID
<input type="submit" value="确认" name="btnSend">
</form>
</div>
//通过ajax验证
var cont=$(".frmPwd").serialize();
$.ajax({
url:'__CONTROLLER__/update_pwd',//跳转至控制器中的update_pwd方法
type:'POST',
data:cont,
dataType:'json',
success:function(data){
alert( data.msg);
if( data.result==1){
layer.closeAll();
location.href="__CONTROLLER__/index";
}
},
error:function(err){
alert( err.status +":"+ err.statusText);
}
});
//在模型层中写入方法
public function update($data,$map){
return $this->_db->where($map)->save($data);
}
//在控制器中写入方法
public function update_pwd(){
$old_pwd=$_POST['old_pwd'];//旧密码
$new_pwd=$_POST['new_pwd'];//新密码
$name=$_POST['user_name'];//用户名
$map=array("userName"=>$name, "userPwd"=>$old_pwd );
$data=array('userPwd'=>$new_pwd);
$js_data=array();//定义一个空数组
if(! D("Users")->login($map) ){ //同数据库验证旧密码的对错
$js_data['result']=0;
$js_data['msg']="旧密码错误";
}else{
D("Users")->update($data, $map); //如果旧密码正确,修改正确
$js_data['result']=1;
$js_data['msg']="修改成功";
}
$this->ajaxReturn($js_data,'JSON'); //返回值
}