我的注册页面显示的表单正确,并且表单中存在CsrfToken({{csrf_field()}})。
<form method="post" action="{{route('products.store')}}">
{{csrf_field()}}
{{ method_field('post') }}
<div class="form-group">
<label for="exampleName">Name</label>
<input type="text" class="form-control" name="name" id="exampleName" placeholder="Enter Name" aria-describedby="emailHelp">
</div>
<div class="form-group">
<label for="exampleDescription">Description</label>
<input type="text" class="form-control" name="desc" id="exampleDescription" placeholder="Enter Name" aria-describedby="emailHelp">
</div>
<div class="form-group">
<label for="exampleWeight">Weight</label>
<input type="text" class="form-control" name="weight" id="exampleWeight" aria-describedby="emailHelp">
</div>
<div class="form-group">
<label for="examplePrice">Price</label>
<input type="text" class="form-control" name="price" id="examplePrice" aria-describedby="emailHelp">
</div>
<button type="submit" class="btn btn-success">Submit</button>
</form>
当我提交表单时(也就是重新加载后),它表明该页面由于错误419而过期。请刷新并重试。错误。
我很努力,但无法解决
请帮助我,非常感谢
答案 0 :(得分:1)
本文可以为您提供帮助: https://medium.com/@tiwarishani/how-to-solve-the-page-expired-419-error-in-laravel-69fd97b0aa71
1。 您在生产中吗?使用https? 我有同样的问题,不是CSRF令牌。因此,我为此更改了AppServiceProvider.php boot()方法(在我的情况下之前为空):
public function boot(UrlGenerator $url)
{
Schema::defaultStringLength(191);
if (env('APP_ENV') !== 'local') {
$url->forceScheme('https');
}
}
请不要忘记此行的顶部:
use Illuminate\Routing\UrlGenerator;
**关于在配置文件之外使用env(),请确保要执行
php artisan config:clear
测试之前
2。 您需要对storage / framework / sessions文件夹具有写权限(755) 执行
chmod 755 storage/framework/sessions
chmod 755 bootstrap/cache
chmod 644 vendor (not very sure about this)
SESSION_DOMAIN环境变量可能很重要。
答案 1 :(得分:0)
SESSION_DRIVER =文件到---> SESSION_DRIVER =数据库
在session.php文件的config目录中
'driver'=> env('SESSION_DRIVER','file')--->'driver'=> env('SESSION_DRIVER','database')
php artisan cache:clear
php artisan config:cache
php artisan serve
完成。 玩得开心