/** * 重置密码 */ public function changePassword() { $uid = I('id'); $map['uid'] = $uid; $password = randomNumber(); $data['password'] = think_weiphp_md5($password); if (M('User')->where($map)->save($data)) { //如果带有参数 以U方法生成跳转URL $this->success('重置成功密码为:' . $password, U('index'), 10); } else { $this->error('数据异常!'); } }
/** * 修改个人密码 */ public function changePassword() { $password = I('password'); $newPassword = I('newPassword'); $User = M('User'); $map['uid'] = get_user_id(); if (think_weiphp_md5($password) == $User->field('password')->where($map)->find()['password']) { $data['password'] = think_weiphp_md5($newPassword); $User->where($map)->save($data); $this->success('修改密码成功'); } else { $this->error('原密码不正确'); } }
/** * 登录指定用户 * * @param integer $uid * 用户ID * @return boolean ture-登录成功,false-登录失败 */ public function login($username, $password, $from = 'user_login', $type = 1) { $map['nickname'] = $username; /* 获取用户数据 */ $user = $this->field(true)->where($map)->find(); if (is_array($user) && $user['status']) { /* 验证用户密码 */ if (think_weiphp_md5($password) === $user['password']) { // 记录行为 // action_log($from, 'user', $user ['uid'], $user ['uid']); /* 登录用户 */ $this->autoLogin($user); // 登录成功,返回用户ID return $user['uid']; } else { $this->error = '密码错误!'; return false; } } else { $this->error = '用户不存在或已被禁用!'; // 应用级别禁用 return false; } }
/** * 修改昵称提交 * * @author huajie <*****@*****.**> */ public function submitNickname() { // 获取参数 $nickname = I('post.nickname'); $password = I('post.password'); empty($nickname) && $this->error('请输入昵称'); empty($password) && $this->error('请输入密码'); // 密码验证 $map['nickname'] = I('post.old_nickname'); $User = D('Common/User'); $user = $User->where($map)->find(); if (think_weiphp_md5($password) !== $user['password']) { $this->error('密码不正确'); } $uid = $user['uid']; $data = $User->create(array('nickname' => $nickname)); if (!$data) { $this->error($User->getError()); } $res = $User->where(array('uid' => $uid))->save($data); if ($res) { $user = session('user_auth'); $user['username'] = $data['nickname']; session('user_auth', $user); session('user_auth_sign', data_auth_sign($user)); $this->success('修改昵称成功!'); } else { $this->error('修改昵称失败!'); } }
/** * 验证用户密码 * * @param int $uid * 用户id * @param string $password_in * 密码 * @return true 验证成功,false 验证失败 * @author huajie <*****@*****.**> */ protected function verifyUser($uid, $password_in) { // $password = $this->getFieldById ( $uid, 'password' ); $map['uid'] = $uid; $password = $this->where($map)->getField('password'); if (think_weiphp_md5($password_in) === $password) { return true; } return false; }
function set_login() { $model = $this->getModel('user'); $map['uid'] = $id = I('get.uid'); // 获取数据 $data = M(get_table_name($model['id']))->find($id); $data || $this->error('数据不存在!'); if (IS_POST) { if (empty($_POST['login_name']) || empty($_POST['login_password'])) { $this->error('账号信息不能为空'); } $save['login_name'] = I('login_name'); $save['mobile'] = I('mobile'); $save['email'] = I('email'); $old_uid = M('user')->where($save)->getField('uid'); if ($old_uid > 0 && $old_uid != $id) { $this->error('该账号已经存在,请更换后再试'); } // 手工升级会员时,用户经历值也增加到该会员级别的条件经历值 // $membership_condition = M ( 'shop_membership' )->where ( array ( // 'id' => $_POST ['membership'] // ) )->getField ( 'condition' ); // $user_experience = get_userinfo ( $map ['uid'], 'experience' ); // if ($user_experience < $membership_condition) { // $save ['experience'] = $membership_condition; // } $save['level'] = 1; $save['manager_id'] = $this->mid; $save['is_audit'] = 1; $save['is_init'] = 1; $save['status'] = 1; $save['login_password'] = I('login_password'); $save['password'] = think_weiphp_md5($save['login_password']); $save['membership'] = $_POST['membership']; // 获取模型的字段信息 if (M('user')->where($map)->save($save) !== false) { D('Common/User')->getUserInfo($id, true); $this->success('保存' . $model['title'] . '成功!', U('lists')); } else { $this->error('保存失败'); } } else { $fields = get_model_attribute($model['id']); //会员等级表没有,注释解决此bug //$extra = $this->getMembershipData (); // if (! empty ( $extra )) { // foreach ( $fields as &$vo ) { // if ($vo ['name'] == 'membership') { // $vo ['extra'] .= "\r\n" . $extra; // } // } // } $this->assign('fields', $fields); $this->assign('data', $data); $this->assign('post_url', U('set_login', $map)); $this->display('edit'); } }