本文实例为大家分享了thinkPHP框架下使用ajax表单提交的登录、注册、找密码的实现方法,以及注册后的用户需后台审核。
user表的字段为id、num、password、name、email、addtime、status
具体代码如下
public function autoLogin($user){
/ 记录登录SESSION /
$auth = array(
'uid' => $user['id'],'num' => $user['num'],'role' => 'user',//记录用户类型
);
session('user_auth',$auth);
session('user_auth_sign',data_auth_sign($auth));
}
/*
- 用户注册
*/
public function signup(){
if(is_user_login()){
$this->redirect('Index/index');
}
if(IS_GET){
//注册页面
$this->display();
}
if(IS_POST){
//判断用户
$data['num'] = I('num') ;
$User = M('user') ;
$datanum = $User->where($data)->find();
if ($datanum){
$this->success('您已经注册过,请直接登录',U('signin'));
}else{
$data['password'] = md5(I('password'));
$data['name'] = I('name');
$data['email'] = I('email');
$data['addtime'] = time();
$uid = $User->add($data);
if($uid)
$this->success('注册成功',U('signin')) ;
else
$this->error('注册失败') ;
}
}
}
public function logout(){
if(is_user_login()){
$User = M('user') ;
session('user_auth',null);
session('user_auth_sign',null);
session('[destroy]');
$this->success('登出成功!',U('signin'));
} else {
$this->redirect('signin');
}
}
//忘记密码
public function wjpas(){
if(IS_GET){
$this->display();
}
if(IS_POST){
$User = M('user') ;
$num = I('num') ;
$data['password'] = md5(I('password')) ;
$email = I('email') ;
$datanum = $User->where(array('num'=>$num))->find();
if ($datanum){
if ($email === $datanum['email']) {
$User->where(array('num'=>$num))->save($data); // 根据条件更新记录
$this->success('密码修改成功',U('signin')) ;
}else{
$this->error('邮箱填写不正确,U('signup'));
}
}
}
}
?>