表单提交时Laravel 4.1 _token错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表单提交时Laravel 4.1 _token错误相关的知识,希望对你有一定的参考价值。

我在laravel 4.1中做简单的cms,我创建了很多表单并且它们工作正常,但是我创建的最后一个表单在提交时抛出错误。

Illuminate  Database  Eloquent  MassAssignmentException
_token

表单发布的数据也显示在错误页面上。

_token  KLlDjuFgaEmuGHKMpFjqSrukYT3sawOYYZLPGxnb
name    asdf
body    asdfasdfa
bio sdfasdf

所以它的意思是_token也发布了,然后我收到这个错误的原因。

我的表格看起来像这样。

{{ Form::open(array('route' => 'admin.teachers.store','files'=>true)) }}
    <ul>
        <li>
            {{ Form::label('image', 'Image:') }}
            {{ Form::file('image') }}
        </li>

        <li>
            {{ Form::label('name', 'Name:') }}
            {{ Form::text('name') }}
        </li>

        <li>
            {{ Form::label('body', 'Body:') }}
            {{ Form::textarea('body',null,array('class'=>'ckeditor')) }}
        </li>

         <li>
            {{ Form::label('bio', 'Bio:') }}
            {{ Form::textarea('bio',null,array('class'=>'ckeditor')) }}
        </li>



        <li>
            {{ Form::submit('Submit', array('class' => 'btn btn-info')) }}
        </li>
    </ul>
{{ Form::close() }}

我在论坛上看到_token问题的一个相关问题,但它没有帮助我。

提前致谢 :)

答案

实际上你的错误是MassAssignmentException,这意味着你正在使用

Model::create($input);

在您的控制器中,而不是使用

protected $fillable = array('columnA', 'name'...);

要么

protected $guarded = array();

在你的模型中,告诉Laravel你桌子的哪些字段是可分配的。

看看文档:http://laravel.com/docs/eloquent#mass-assignment

以上是关于表单提交时Laravel 4.1 _token错误的主要内容,如果未能解决你的问题,请参考以下文章

laravel表单提交419解决办法

如何修复 Laravel 5.8 Ajax 表单提交中的内部服务器错误

Laravel 5:持久化表单数据时,_token 导致批量赋值异常

Laravel提交表单具有相同的输入名称ajax

Laravel 和 Vue 身份验证表单在登录失败时重新加载

laravel中TokenMismatchException异常处理