Laravel 4.1 _token 表单提交错误

Posted

技术标签:

【中文标题】Laravel 4.1 _token 表单提交错误【英文标题】:Laravel 4.1 _token error on form submit 【发布时间】:2014-04-15 05:40:16 【问题描述】:

我在 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】:

其实你的错误是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 4 CSRF 表单通过 Ajax 调用提交

Laravel 5.0 ajax 消息提交返回错误或超时

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

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