主要文件:
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'=>'验证码必须是数字'
];
}