如何定义未定义的变量:令牌(视图:C:\xampp\htdocs\blog\resources\views\auth\passwords\email.blade.php)

how to define Undefined variable: token (View: C:\xampp\htdocs\blog\resources\views\auth\passwords\email.blade.php)

Undefined variable: token (View: C:\xampp\htdocs\blog\resources\views\auth\passwords\email.blade.php)

在表格中你不需要添加$token,你已经在表格中使用它了。所以你的表单操作应该是

action="{{ route('password.request') }}" 

同样对于csrf,您可以使用以下

在表单中输入

{{ csrf_field() }}

如果您在 laravel 中使用了默认身份验证(使用 php artisan make:auth),那么在 \auth\passwords\email.blade.php 文件中像这样更改:

<form method="POST" action="{{ route('password.email') }}">
@csrf

你只是不需要在表单中手动添加$token,你可以在表单中使用csrf_field(),它会生成带有csrf token[=13=的隐藏字段]

你的代码应该是这样的

<form method="POST" action="{{ route('password.request') }}">
    {{ csrf_field() }}
    .
    .
    .
</form>

你好,我的#laravel6 项目也有同样的问题,我试图调用相同的方法并从不同的 URL 进行查看。 我只是像这样删除了@csrf 之后的第二行

<input type="hidden" name="token" value="{{ $token }}">

我删除了这个并且它工作正常。 关于令牌,有一个来自@csrf 的令牌,所以一切正常。