由于不活动,该页面已过期。请刷新并重试

时间:2017-09-20 10:35:20

标签: php laravel-5.5

我正在使用laravel 5.5,当我在发布请求中将数据发送到我的控制器时。它始终显示以下消息 由于不活动,该页面已过期。

请刷新并重试。 我的观点代码是:

@extends('layouts.app')
@section('content')


    <!DOCTYPE html>
    <html>
    <head>
        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <title></title>
    </head>
    <body>
    <div class="span3 well">
          <legend>Create Your New Task!</legend>
          <div class="form-group">
            <div class="col-md-4">  
             <form accept-charset="UTF-8" action="/add-task" class="form-horizontal" method="post">
            <input class="form-control"   name="name" placeholder="Task Name" type="text"> 
            <input class="form-control"  name="assignedto" placeholder="Assigned To" type="text">
            <input class="form-control"  name="deadline" placeholder="DeadLine" type="text"> 
            <button class="btn btn-warning" type="submit">Add Task</button>
            {{csrf_field()}}
        </form>
        </div>
    </div>
    </div>
    </body>

    </html>

    @endsection()

我的控制器是:

<?php

    namespace App\Http\Controllers;

    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\DB;
    use App\task;

    class AddTask extends Controller
    {
        public function insertTask(Request $req)
        {
            $name=new task();
            $name->name=$req['name'];
            $name->assigned_to=$req['assignedto'];
            $name->deadline=$req['deadline'];

            $name->save();

        }
    }

我不知道解决方案是什么

4 个答案:

答案 0 :(得分:4)

我使用localhost:8000遇到同样的问题 请尝试以下步骤
1.试试干净的浏览器。似乎问题在于使用以前的Laravel版本开发的cookie,在同一个URL上 2.尝试在开始表单标记

下添加{{ csrf_field() }}
<form action="/add-task" method="POST">
  {{ csrf_field() }}

3.并删除accept-charset="UTF-8"

进一步阅读 Similiar Post 1Similiar Post2
关于laravel 5.5错误的其他链接 Larave 5.5: default error views and costomizing them

答案 1 :(得分:1)

注意php.ini mbstring.func_overload参数。

必须设置为 0。并且mbstring.internal_encoding设置为 UTF-8 。在我的情况下,这是一个问题。

答案 2 :(得分:0)

有同样的问题,但缺少/ storage / framework / sessions文件夹。 创建了文件夹,并在刷新后修复了它。

答案 3 :(得分:0)

不得不放 <input type="hidden" name="_token" value="{{ csrf_token() }}">或在Laravel 5.6中使用@csrf 内部形式。 {{csrf_token()}}否则会在html页面中打印