1

每当我将发布请求中的数据发送到我的控制器时,我都在使用 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

4 回答 4

4

我在使用localhost:8000 以下步骤时遇到了同样的问题 1.尝试
在干净的浏览器上。似乎问题出在同一个 url 上与以前的 Laravel 版本一起开发的 cookie 上。
2.尝试添加{{ csrf_field() }}下面的打开表单标签

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

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

进一步阅读 有关 laravel 5.5 错误的类似帖子 1类似
帖子 2 附加链接 Larave 5.5:默认错误视图和自定义它们

于 2017-09-20T11:52:27.937 回答
1

注意php.ini mbstring.func_overload参数。

它必须设置为0。mbstring.internal_encoding设置为UTF-8。就我而言,这是一个问题。

于 2018-05-13T19:43:11.963 回答
1

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

于 2018-06-18T14:55:01.473 回答
0

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

于 2017-10-05T14:18:52.860 回答