ThinkPHP表单令牌错误的相关解决方法分析


Posted in PHP onMay 20, 2016

本文分析了ThinkPHP表单令牌错误的相关解决方法。分享给大家供大家参考,具体如下:

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

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

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

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

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

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

<?php
return array (
 0 => 'id',
 1 => 'title',
 2 => 'content',
 3 => 'publishedtime',
 4 => 'userid',
 5 => 'params',
 '_autoinc' => true,
 '_pk' => 'id',
);
?>

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

到此,这个问题解决~~~~

(本文所述thinkPHP环境为早期版本,用户在使用新版的时候可参考对应目录)

PHP 相关文章推荐
PHP调用三种数据库的方法(1)
Oct 09 PHP
聊天室php&amp;mysql(五)
Oct 09 PHP
第四章 php数学运算
Dec 30 PHP
php开发留言板的CRUD(增,删,改,查)操作
Apr 19 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
php按单词截取字符串的方法
Apr 07 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
php实现小程序支付完整版
Oct 09 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
Mar 30 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
PHP Redis扩展无法加载的问题解决方法
Aug 22 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 PHP
ThinkPHP使用Ueditor的方法详解
May 20 #PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 #PHP
thinkphp3.x中session方法的用法分析
May 20 #PHP
PHP编写登录验证码功能 附调用方法
May 19 #PHP
一段实用的php验证码函数
May 19 #PHP
thinkphp3.x中cookie方法的用法分析
May 19 #PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 #PHP
You might like
压力如何影响浓缩咖啡品质
2021/03/03 咖啡文化
php empty() 检查一个变量是否为空
2011/11/10 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
python3.5使用tkinter制作记事本
2016/06/20 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Python urllib2运行过程原理解析
2020/06/04 Python
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
回门宴新郎答谢词
2014/01/12 职场文书
中学运动会广播稿
2014/01/19 职场文书
主题团日活动总结
2014/06/25 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
学风建设演讲稿
2014/09/12 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers