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 存取 MySQL 数据库的一个例子
Oct 09 PHP
用PHP中的 == 运算符进行字符串比较
Nov 26 PHP
php递归列出所有文件和目录的代码
Sep 10 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
php使用curl出现Expect:100-continue解决方法
Mar 03 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 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
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
jsonp原理及使用
2013/10/28 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
使用AngularJS2中的指令实现按钮的切换效果
2017/03/27 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python中的多重继承实例讲解
2014/09/28 Python
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
Python分支结构(switch)操作简介
2018/01/17 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
python画双y轴图像的示例代码
2019/07/07 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
MySQL面试题
2014/01/12 面试题
师范生免费教育协议书范本
2014/10/09 职场文书
正规借条模板
2015/05/26 职场文书
MySQL创建管理子分区
2022/04/13 MySQL
Redis全局ID生成器的实现
2022/06/05 Redis
Django框架之路由用法
2022/06/10 Python