示例详解Laravel的注册重构
Laravel  /  管理员 发布于 9年前   222
1. 首先确定用户注册的路由 我们在安装好laravel的时候默认生成的注册是用邮箱进行注册的,并且有些选项不需要,有些还需要加一些表单选项 我们注册的话,并不是可以随便注册的,只有一些超级管理员才能进行注册 首先我们使用上次创建的 然后创建两条路由 前者是显示一个注册的页面 2. 显示注册账号页面 这个使用的是 3. 请求注册账号 这个使用的是 注册账号的话和重置密码一样,而且比注册账号还要简单点。 我们在往数据库里插入一条用户纪录的时候,可以使用 4. 完成后的示例 UserController register.bladeUserController进行配置,如果没有的话,可以使用php artisan make:controller UserController创建一个控制器类Route::get('register', 'UserController@getRegister')和Route::post('register', 'UserController@postRegister')get请求,后面是注册账号的post请求。getRegister这个方法,这个方法只需要显示一个视图所以并没有特别的逻辑public function getRegister(){ return view('auth.register');}postRegister这个方法User::create($data)进行插入。$data是个数组,里面存放了每个字段的键和值public function postRegister(Request $request){ $rules = [ 'username'=>'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('/');}public function getRegister(){ return view('auth.register');}public function postRegister(Request $request){ $rules = [ 'username'=>'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); //插入一条新纪录,并返回保存后的模型实例 return redirect('/');}
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
