laravel表单注册怎么写

2023年 8月 6日 41.7k 0

Laravel 是目前最流行的 PHP 开发框架之一,其强大而灵活的特性为 Web 开发者提供了强大的开发工具和 API。在 Laravel 中,表单注册是一个很常见的功能,今天我们就来学习如何用 Laravel 实现表单注册。

首先,我们需要在 Laravel 中创建一个路由,用于处理表单提交和显示表单页面。我们可以在 routes/web.php 文件中添加以下代码:

Route::get('/register', 'AuthRegisterController@showRegistrationForm')->name('register');
Route::post('/register', 'AuthRegisterController@register')->name('register');

登录后复制

在这里,我们定义了两个路由,一个是 GET 请求路由,用于显示注册表单页面,另一个是 POST 请求路由,用于处理表单提交数据。我们还给这两个路由分别起了名字为 register

接下来,我们需要定义一个控制器,来处理和渲染表单页面,我们可以使用以下命令来生成一个控制器:

php artisan make:controller AuthRegisterController

登录后复制

然后,我们需要在该控制器中编写处理表单和渲染表单的方法,代码如下:

namespace AppHttpControllersAuth;

use AppHttpControllersController;
use IlluminateFoundationAuthRegistersUsers;
use IlluminateSupportFacadesValidator;
use IlluminateHttpRequest;

class RegisterController extends Controller
{
use RegistersUsers;

protected $redirectTo = '/home';

public function __construct()
{
$this->middleware('guest');
}

public function showRegistrationForm()
{
return view('auth.register');
}

public function register(Request $request)
{
$this->validator($request->all())->validate();

$user = $this->create($request->all());

$this->guard()->login($user);

return redirect($this->redirectTo);
}

protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}

protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
}

登录后复制

在这里,我们使用了 Laravel 内置的 RegistersUsers trait,来提供注册用户功能,它包含了一些常用方法,如 validator() 方法和 create() 方法。这些方法分别用于验证表单数据和创建新用户。

showRegistrationForm() 方法中,我们返回了一个模板视图,该视图包含了我们的表单内容。在 register() 方法中,我们首先使用 validator() 方法来验证表单数据,如果验证通过,我们就使用 create() 方法来创建新用户,并使用 guard() 方法来登录该用户。

最后,我们需要创建一个表单视图,来呈现给用户注册表单。我们可以在 resources/views/auth/register.blade.php 文件中添加以下内容:

Register

@csrf

{{ __('Name') }}

@error('name')

{{ $message }}

@enderror

{{ __('E-Mail Address') }}

@error('email')

{{ $message }}

@enderror

{{ __('Password') }}

@error('password')

{{ $message }}

@enderror

{{ __('Confirm Password') }}

{{ __('Register') }}

登录后复制

在这里,我们使用了 Bootstrap 框架来美化表单样式。其中,我们使用了 @csrf 指令,来生成一个隐藏的 CSRF token 输入域,同时也在 form 标签的 action 属性中指定了注册路由。

到此为止,Laravel 表单注册就完成了。我们可以使用 php artisan serve 命令来启动本地开发服务器,并访问 http://localhost:8000/register 来查看注册表单页面。当我们填写正确的表单数据并提交表单时,系统就会注册新用户并自动登录他们。

总之,用 Laravel 实现表单注册就是这么简单。Laravel 提供了很多内置的功能和工具,来帮助我们实现各种各样的普通和复杂的 Web 应用。如果你善于利用这些功能和工具,就可以快速构建出高效、稳定、易维护的 Web 应用。

以上就是laravel表单注册怎么写的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论