thinkPHP5——ajax注册登录

主要文件:

thinkPHP5——ajax注册登录_第1张图片

app\index\model\UsersModel.php文件代码

namespace app\index\model;
use think\Model;

class UsersModel extends Model{
    protected $pk = 'id';//设置主键
}

一、登录

1.login.html

邮箱:

密码:



//jq必须

2.login.php

namespace app\index\controller;
use think\Controller;
use app\index\model\UsersModel;
class Login extends Controller{
    public function doLogin(){
        $user=new UsersModel;
        $user->email = input('email');
        $user->password = input('password');

        $result = $this->validate($user,'Vlogin');
        if(true!==$result){
            echo $result;
        }
        else{
            //验证用户名
            $tn=db('member_content')->where('email',input('email'))->find();
            //验证密码
            $tp=db('member')->where('password',md5(input('password')))->find();
            if(empty($tn)||empty($tp)){
                echo '用户名或密码错误';
            }
            else{
            //验证通过
            //cookie,非法登录
            cookie('id',$tp['username'],3600);
            //验证通过,页面跳转
            //$this->redirect(url('index/index'));
            //传值,判断是否验证通过
            $arr=0;
            echo $arr;
            }
        }
    }
}

二、注册(两者方法差不多)

1.register.html

用户:
密码:
确认密码:
邮箱:



2.Register.php

use think\Controller;
use think\Db;
use app\index\model\UsersModel;

class Register extends Controller{
    public function register(){
        $user=new UsersModel;
        $user->password = input('password');
        $user->repassword=input('repassword');
        $user->email = input('email');

        $result = $this->validate($user,'Vregist');
        if(true!==$result){
            echo $result;
        }
        else{
            $data1=[
                'password'=>md5(input('password'))
            ];
            $data2=[
                'email'=>input('email'),
            ];

           Db('member')->insert($data1)&&Db('member_content')->insert($data2);
           $arr=0;
           /*$result=json_encode($arr);
           header('Content-Type:application/json');//这个类型声明非常关键
           echo $result;*/
           echo $arr;
        }
    }
}

附加注册验证器Vregist.php

namespace app\index\validate;

use think\Validate;

class Vregist extends Validate
{
    protected $rule = [
        'username'=>'require|max:20|unique:member',
        'password'  =>  'require|min:6',
        'repassword'=>'require|confirm:password',
        'email' =>  'require|email|unique:member_content',
        'code'=>'number',

    ];

    protected $message = [
        'username.require'=>'账号不能为空',
        'username.max'=>'账号字数设置不能超过20位',
        'username.unique'=>'该账号已经注册',
        'password.require'  =>  '密码不能为空',
        'password.min'=>'密码不得少于6位',
        'repassword.require'=>'确认密码不能为空',
        'repassword.confirm'=>'两次输入密码不一致',
        'email.require' =>  '邮箱不能为空',
        'code'=>'验证码必须是数字'
    ];

}

 

你可能感兴趣的:(php)