我在使用laravel将数据插入数据库时​​遇到问题

时间:2018-11-21 19:45:00

标签: php laravel

我在laravel中遇到有关邮寄路线的问题。每当我尝试将数据发布到模型中时,都会出现419错误,即我的会话已过期。该问题的解决办法是什么?

public function store(Request $request)
{
    $this->validate($request, [
        'title' => 'required',
        'body'  => 'required',
    ]);

    $post = new Post;
    $post->title = $request->input('title');
    $post->body = $request->input('body');
    $post->save();

    return redirect('/posts')->with('success', 'Post created');
}

以下是刀片服务器代码

{!! Form::open(['action' => 'postsController@store', 'method' => 'POST']) !!}

    <div class='form-group'>
        {{ Form::label('title','Title') }}
        {{ Form::text('title','',['class'=>'form-control','placeholder'=>'Title']) }}
    </div>

    <div class='form-group'>
        {{ Form::label('body','Body') }}
        {{ Form::textarea('body','',['id'=>'article-ckeditor','class'=>'form-control','placeholder'=>'Body Text']) }}
    </div>

    {{ Form::submit('Submit',['class'=>'btn btn-primary']) }}

{!! Form::close() !!}

1 个答案:

答案 0 :(得分:6)

在表单中添加CSRF字段:

{!! csrf_field() !!}

VerifyCsrfToken中间件(默认包含在Laravel应用中)要求每个POST请求都包含一个预先生成的CSRF令牌。这样可以提高安全性(请参见CSRF Wiki page)。如果要禁用此功能,则可以使用VerifyCsrfToken中间件删除/停止,也可以列出应从CSRF验证中排除的URI(请参见documentation)。