加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

示例详解Laravel的注册重构

发布时间:2020-05-23 10:43:26 所属栏目:PHP 来源:互联网
导读:有时候需要使用laravel搭建一个后台内容管理系统,但是laravel默认的登陆注册不能满足目前的需求,所以这就需要Laravel注册重构了,下面跟着小编一起看看如何进行注册重构。

1. 首先确定用户注册的路由

我们在安装好laravel的时候默认生成的注册是用邮箱进行注册的,并且有些选项不需要,有些还需要加一些表单选项

我们注册的话,并不是可以随便注册的,只有一些超级管理员才能进行注册

首先我们使用上次创建的UserController进行配置,如果没有的话,可以使用php artisan make:controller UserController创建一个控制器类

然后创建两条路由Route::get('register','UserController@getRegister')Route::post('register','UserController@postRegister')

前者是显示一个注册的页面get请求,后面是注册账号的post请求。

2. 显示注册账号页面

这个使用的是getRegister这个方法,这个方法只需要显示一个视图所以并没有特别的逻辑

3. 请求注册账号

这个使用的是postRegister这个方法

注册账号的话和重置密码一样,而且比注册账号还要简单点。

我们在往数据库里插入一条用户纪录的时候,可以使用User::create($data)进行插入。

$data是个数组,里面存放了每个字段的键和值

'required|unique:finance_enewsuser','password' => 'required|between:6,20|confirmed' ]; $messages = [ 'required'=>':attribute不能为空','unique'=>'用户名已被注册','between' => '密码必须是6~20位之间','confirmed' => '新密码和确认密码不匹配' ]; $username = $request->input('username'); $password = $request->input('password'); $group = $request->input('group'); $data = $request->all(); $validator = Validator::make($data,$rules,$messages); if ($validator->fails()) { return back()->withErrors($validator); } $data = [ 'username' => $username,'password' => bcrypt($password),'groupid' => $group,'checked' => 0,'styleid' => 1,'filelevel' => 0,'loginnum' => 0,'lasttime' => time(),'lastip' => '127.0.0.1','truename' => '','email' => '','pretime' => time(),'preip' => '127.0.0.1',]; User::create($data); //插入一条新纪录,并返回保存后的模型实例 //如果注册后还想立即登录的话,可以使用$user = User::create($data); Auth::login($user); 进行认证 return redirect('/'); }

4. 完成后的示例

UserController

public function postRegister(Request $request)
{
$rules = [
'username'=>'required|unique:finance_enewsuser',$messages);
if ($validator->fails()) {
return back()->withErrors($validator);
}
$data = [
'username' => $username,];
User::create($data); //插入一条新纪录,并返回保存后的模型实例
return redirect('/');
}

register.blade

@if(count($errors) > 0) @endif
    推荐文章
      热点阅读