表单提交时Laravel 4.1 _token错误

问题描述 投票:6回答:1

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

提前致谢 :)

php forms laravel laravel-4 csrf-protection
1个回答
17
投票

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

Model::create($input);

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

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

要么

protected $guarded = array();

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

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

© www.soinside.com 2019 - 2024. All rights reserved.