网站建设资讯

NEWS

网站建设资讯

ThinkPHP表单令牌错误怎么办-创新互联

这篇文章主要介绍ThinkPHP表单令牌错误怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联基于分布式IDC数据中心构建的平台为众多户提供成都联通服务器托管 四川大带宽租用 成都机柜租用 成都服务器租用。

具体如下:

在用ThinkPHP做程序的时候,以前用create创建数据的时候,出现了错误提示“表单令牌错误”,然后各种百度各种谷歌,得到的网上解答给出了以下的建议

1、清缓存: 用了,我把所有的Cache下的文件都删掉了,并将~app.php和~runtime.php两个文件同时都删掉了,但是没有效果。

2、将TOKEN_ON参数设置为FALSE: 试过了,但是也不行,虽然不提示表单令牌错误了,但是添加到数据库的数据是空的。

3、在模板文件的表单中添加{__NOTOKEN__}:添加了,但是结果同样是无效!

到这里我就开始无语了,难道就我电脑上的ThinkPHP不行?我觉得应该不是,我又重新写了一个添加函数,结果正常,这时候我就开始想,是不是我的上一个函数写错了?但是检查之后发现没错!后来慢慢的一个个文件开始那个查看啊,终于让我发现了原因:

在ThinkPHP自动生成的各个文件夹中,有一个叫做“Data”的文件夹,下面有个“_fields”文件夹,这个文件夹中存放的是各个模型中数据表中的相关信息,也就算是映射(我的理解),我仔细检查了一个,发现,有两个文件中只有“'_autoinc' => true,”这一项,其他的都有很多,类似于:

 'id',
 1 => 'title',
 2 => 'content',
 3 => 'publishedtime',
 4 => 'userid',
 5 => 'params',
 '_autoinc' => true,
 '_pk' => 'id',
);
?>

到这个时候就可以知道原因了,是某个操作将这些数据给删掉了一部分,这样ThinkPHP在进行表单验证的时候,无法进行数据的映射,也就导致了ThinkPHP的错误,将他们按照数据表中的顺序进行添加之后,重新运行,正常!

以上是“ThinkPHP表单令牌错误怎么办”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


本文题目:ThinkPHP表单令牌错误怎么办-创新互联
文章URL:http://cdweb.net/article/dpeodh.html