博客开发之注册功能
1.在web.app中添加一条注册路由
代码如下
//注册
Route::match(['get','post'],'register','Index@register');
2.引入HTMl注册模板,为注册按钮添加一个id为register
3.引入layer弹出层 ,AJAX异步提交数据给控制器
代码如下
$('#register').click(function () {
$.ajax({
url:"{
{url('admin/register')}}",
type:'post',
data:$('form').serialize(),
dataType:'json',
success:function (data) {
if(data.code == 1){
layer.msg(data.msg,{
icon: 6,
time: 2000,
},function () {
location.href = data.url;
});
}else{
layer.open({
title:'注册失败',
content:data.msg,
icon:5,
anim:6,
});
}
}
});
return false;
});
4.在控制器中接收数据
5.将数据传递给模型,并添加至数据库;添加数据之前需要对数据进行设置
(1)允许添加的字段(2)设置时间戳格式(3)定义时间戳格式的字段
//注册
public function register($data)
{
$rule = [
'username' => 'bail|required', //bail首次验证失败后不继续执行
'password' => 'bail|required',
'conpass' => 'bail|required|same:password',
'nickname' => 'bail|required',
'email' => 'required|email|unique:admins',
];
$msg = [
'username.required' => '用户名不能为空',
'password.required' => '密码不能为空',
'conpass.required' => '确认密码不能为空',
'conpass.same' => '确认密码必须和密码一样',
'nickname.required' => '昵称不能为空',
'email.required' => '邮件不能为空',
'email.email' => '邮件格式错误',
'email.unique' => '该邮件已存在',
];
$validate = Validator::make($data,$rule,$msg);
if ($validate->fails()){
return $validate->errors()->first();
}
$result = $this->create($data);
if ($result){
return 1;
}else{
return '注册失败';
}
}
至此,注册功能实现!!