“页面已过期错误419”-Laravel 7

时间:2020-03-27 01:46:59

标签: laravel

我的注册页面显示的表单正确,并且表单中存在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而过期。请刷新并重试。错误。

我很努力,但无法解决

请帮助我,非常感谢

2 个答案:

答案 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)

  1. php artisan session:table
  2. 转到环境文件并更改

SESSION_DRIVER =文件到---> SESSION_DRIVER =数据库

在session.php文件的config目录中

'driver'=> env('SESSION_DRIVER','file')--->'driver'=> env('SESSION_DRIVER','database')

  1. php artisan cache:clear

  2. php artisan config:cache

  3. php artisan serve

完成。 玩得开心