我们在用DedeCMS自定义表单功能的时候,一般都是在本地测试,成功后再上传到空间实测,把自定义表单备份在空间还原之后,在提交表单的时候却提示“数据校验不对,程序返回 ”,在自定义表单中点击发布信息却并没有这个问题,一切正常。
排查一番,终于找出原因,原来自定义表单中中有一个dede_fieldshash值,它的value值是唯一的,每个网站都有单独的value值,这里报错就是因为这个问题,比如如下代码:
<input type="hidden" name="dede_fields" value="bt,text;xgsm,multitext;lxr,text;xb,radio;dwmc,textchar;xxdz,textchar;yzbm,text;lxdh,text;czhm,text;sjhm,text;dzxx,text"/><input type="hidden" name="dede_fieldshash" value="497900ecbac58b031af0c80e589e7649"/> |
很简单,打开后台-核心-频道模型-自定义表单value值为:497900ecbac58b031af0c80e589e7649,网站转移之后这个值也会变化,并没有及时修改这个值,导致出错,那么怎么找到这个值呢?
找到自己设置好的自定义表单,点击“前台预览”
如果提示前台预览关闭,则点击“修改”,将“前台列表和内容也公开”选项勾选为“完全公开”。
在预览自定义表单界面点击右上角的“发布信息”
即可到信息发布的页面,查看源代码,找到“ dede_fieldshash”,后面的value值即为我们需要的新的值,放到自己的模版中即可解决“数据校验不对”的报错问题,再去提交表单则提示成功。