繁体   English   中英

@csrf 在 Laravel 5.4 中不起作用

[英]@csrf is not working in Laravel 5.4

我正在关注 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>

据我所知,5.4中没有@csrf,你必须使用

{{ csrf_field() }}

相反,@csrf 在 laravel 5.6 中可用

@csrf 参数在 5.6 中出现在刀片上

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

有关更多信息,请查看文档

仅 Laravel 5.4 可用,请参阅此链接https://laravel.com/docs/5.4/csrf

{{ csrf_field() }}

和 Laravel 5.6 可用参考此链接https://laravel.com/docs/5.6/csrf

@csrf

如果你习惯laravel框架5.6,5.5或小于5.5的版本,你应该写{{ csrf_field() }}但如果你使用laravel Framework版本5.7, 5.8或大于5.7的版本,你应该写@csrf

Laravel 5.5, 5.6 => 写 {{ csrf_field() }}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM