[英]Whoops, looks like something went wrong. LARAVEL ERROR
我想在Laravel中进行基本的登录/注销 。 因此,我在resources/views
下创建了一个名为auth的新文件夹,然后制作了一个新文件login.blade.php
将其插入其中:
<html>
<body>
<form>
<input type="text" name="email" placeholder="email" size="40"><br><br>
<input type="password" name="password" placeholder="password" size="40"><br><br>
<input hidden name="_token" value="{{csrf_token}}">
<input type="submit" value="send">
</form>
</body>
</html>
之后,我像这样编辑web.php:
Route::get('/', function () {
return view('welcome'); });
Route::get('/home', function () {
return view('welcome'); });
Route::get('/login', function () {
return view('auth.login'); });
Route::post('/login','Auth\LoginController@login');
Route::post('/logout','Auth\LoginController@logout');
因此它应该可以正常工作,因为一切都有意义,但是每当我进入登录URL时,都会看到以下错误消息:
6c95db2d362954448afd30aa9a2bf2cb0fc31937.php第6行中的ErrorException:使用未定义的常量csrf_token-假定为'csrf_token'(查看:G:\\ xampp \\ htdocs \\ o2architect \\ root \\ laravel \\ resources \\ views \\ auth \\ login.blade.php)
那么谁能告诉我这是怎么回事?
更改:
<input hidden name="_token" value="{{csrf_token}}">
至
<input hidden name="_token" value="{{ csrf_token() }}">
然后再试一次。
请尝试以下,希望这项工作对您有所帮助!
<html>
<body>
<form>
<input type="text" name="email" placeholder="email" size="40"><br><br>
<input type="password" name="password" placeholder="password" size="40"><br><br>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" value="send">
</form>
</body>
</html>
csrf_token是Laravel的帮助函数,因此您必须用括号将其调用。
只是改变
<input hidden name="_token" value="{{csrf_token}}">
至
<input hidden name="_token" value="{{ csrf_token() }}">
建议
您可以使用{!! csrf_field() !!}
{!! csrf_field() !!}
,它将使用CSRF令牌创建隐藏的输入字段。
在显示的表单上方的代码中,是GET Request表单,您必须将其更改为action="POST"
并且GET
请求表单也可以在没有CSRF令牌的情况下工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.