@csrf在Laravel 5.4中无法使用

3

我正在学习 Laravel,但发现我无法使用 @csrf 命令,而其他人可以有效地使用它。但是,我可以使用 {{ csrf_field() }} 来获取 csrf 令牌。我想知道原因,谢谢。

这里是我使用 @csrf 命令的截图:图片在这里

这是我的 index.blade.php:

       <form action="{{ route('contact.store') }}" method="post">

            @csrf

            <div class="col-md-6 mb-3">
                <label for="username">Username:</label>
                <input class="form-control" type="text" name="name" id="username" placeholder="Username | Email | Phone Number" required>
                <div class="invalid-feedback">
                    Please provide a username
                </div>
            </div>

            <div class="col-md-6 mb-3">
                <label for="password">Password:</label>
                <input class="form-control" type="password" name="name" id="password" placeholder="" required>
                <div class="invalid-feedback">
                    Please provide a password
                </div>
            </div>

            <div class="col-md-6 mb-3">
                <input type="submit">
            </div>
        </form>

1
因为它稍后会被介绍。您可以使用 {{ csrf_field() }} - online Thomas
1
谢谢你们的回答。 - Francis Albert Calas
4个回答

8
据我所知,5.4版本中没有@csrf标记,您需要使用。
{{ csrf_field() }}

相反,在laravel 5.6中可使用@csrf。

谢谢你的回答 :) - Francis Albert Calas

3

@csrf参数在5.6版的Blade中引入

你需要使用csrf_field()方法代替@csrf

欲了解更多信息,请查看文档


感谢您的回答。 - Francis Albert Calas

2

0

如果您使用的是 Laravel 框架版本5.6、5.5或低于5.5版本,则应编写{{ csrf_field() }},但如果您使用的是 Laravel 框架版本5.7、5.8或高于5.7版本,则应编写@csrf

Laravel 5.5、5.6 => 编写 {{ csrf_field() }}

Laravel 5.7 或大于5.7 => 编写 @csrf


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接