织梦DEDECMS会员中心提示“数据校验不对,程序返回”解决方法
发菜做一个网站,自建了一个频道模型,增加了自定义字段后,在会员中心提交信息进行测试,报错了:数据校验不对,程序返回。仔细测试后,发现输出的$dede_fieldshash是空值,怎么办呢?以下是解决办法:
原因:member/inc/inc_archives_functions.php函数function PrintAutoFieldsEdit 内缺少输出dede_fieldshash字段值,导致编辑程序条件判断一直为真。
处理方法:
打开文件member/inc/inc_archives_functions.php
查找
function PrintAutoFieldsEdit(&$fieldset, &$fieldValues, $loadtype='all')
在
$dtp = new DedeTagParse();
之前加入
global $cfg_cookie_encode;
查找
echo "<input type='hidden' name='dede_addonfields' value="".$dede_addonfields."">
";
在其之后另行一行加入
echo "<input type="hidden" name="dede_fieldshash" value="".md5($dede_addonfields.$cfg_cookie_encode)."" />";