表单提交时Laravel 4.1 _token错误

时间:2014-03-11 14:25:10

标签: php forms laravel laravel-4 csrf-protection

我在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问题的一个相关问题,但它对我没有帮助。

提前致谢:)

1 个答案:

答案 0 :(得分:17)

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

Model::create($input);

在您的控制器中而不使用

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

protected $guarded = array();

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

查看文档:{​​{3}}