laravel实现注册登录
Laravel是一款常用的PHP框架,具有优雅的语法、强大的功能和文档丰富的特点,已经成为众多PHP开发人员的首选框架。本文将介绍如何使用Laravel框架实现注册和登录功能。
一、创建Laravel应用程序在开始实现注册和登录功能之前,首先需要创建一个Laravel应用程序。可以使用Laravel官方提供的Composer命令来创建新应用程序,如下所示:
composer create-project --prefer-dist laravel/laravel your-project-name登录后复制
创建完成后,进入应用程序目录并启动本地服务器:
cd your-project-name php artisan serve登录后复制
二、创建认证系统在实现注册和登录功能之前,需要先创建一个基本的认证系统。Laravel提供了make:auth
Artisan命令,可以快速生成认证相关的视图和控制器。
php artisan make:auth登录后复制
三、创建数据库表默认情况下,Laravel使用MySQL数据库。在本例中,需要创建一个名为users
的数据表来存储用户数据。可以使用以下Artisan命令来创建该表:
php artisan make:migration create_users_table --create=users登录后复制
public function up() { Schema::create('users', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); }登录后复制
在修改完迁移文件之后,需要执行以下Artisan命令,来实际创建users
数据表:
php artisan migrate登录后复制
此时,我们需要删除一些字段,同时增加必须填写的name
字段和确认密码password_confirmation
字段。修改后的代码如下所示:
@csrf {{ __('Name') }} {{ __('E-Mail Address') }} {{ __('Password') }} {{ __('Confirm Password') }} {{ __('Register') }} 登录后复制
public function store(Request $request) { $this->validate($request, [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|unique:users|max:255', 'password' => 'required|string|min:8|confirmed', ]); User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password), ]); return redirect()->intended('dashboard'); }登录后复制
六、创建登录页面接下来,需要创建一个登录页面,让用户可以输入自己的已注册电子邮件地址和密码。打开resources/views/auth/login.blade.php
文件,可以看到Laravel已经为我们创建了一个基本的登录表单。
七、处理登录请求注册表单已经创建,但是当用户提交表单时并不会生效。所以我们需要修改app/Http/Controllers/Auth/LoginController.php
文件来处理登录请求。
public function store(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { $request->session()->regenerate(); return redirect()->intended('dashboard'); } return back()->withErrors([ 'email' => 'The provided credentials do not match our records.', ]); }登录后复制
八、设置认证中间件一旦注册和登录功能已经实现,需要保护应用程序的某些路由,只有已认证的用户才能访问。在Laravel中,可以使用中间件来实现此目的。Laravel提供了一个名为auth
的中间件,它会验证用户是否已经登录到应用程序。
Laravel默认情况下将auth
中间件应用于任何使用auth
路由名称的路由。可以使用以下代码来指定一个或多个中间件:
Route::get('/dashboard', function () { // 仅允许已登录用户访问 })->middleware(['auth']);登录后复制
总结本文介绍了如何使用Laravel框架实现注册和登录功能。借助Laravel框架,可以快速方便地构建一个安全可靠的web应用程序,促进web应用程序的开发进程。无论是初学者还是有经验的开发人员,都可以尝试使用Laravel框架来构建自己的web应用程序。
以上就是laravel实现注册登录的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!