专业为您提供资阳网站建设、资阳网站制作、资阳网站推广、网站优化等解决方案。

VIEWS

技术知识VIEWS

VIEWS

dede数据校验不对,程序返回

   来源:http://www.napianyun.com   作者:那片云网络   发布于:2014-12-28 17:20   浏览:
今天做了一个表单提交,但是呢,测试的时候出现了“dede数据校验不对,程序返回”,甚是恼人。现在都有一个习惯了,遇到任何问题都百度了,所以就百度了一下,哇塞出现很多答案。

织梦(DEDE)表单提交出现“数据校验不对,程序返回”的解决办法

1:<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
plus/diy.php文件是否存在,是否对应。
2:<input name='sex' id='sex' type="text" class="ipt" style="WIDTH: 399px"/>
name,id,type,是否和后台自定义表单对应。
3:<input type="hidden" name="dede_fields" value="name,text;sex,radio;tel,text;pro,select;dizhi,text;note,htmltext;mail,text" />
value值是否和后台自定义表单一直,如果不一直,就复制前台预览的网址代码。
4: <input type="hidden" name="dede_fieldshash" value="5b6ddc6659f6278add0ebd009229f7cb" />
这段代码后面的value值是唯一,每个网站有单独的value值,所以也需要复制前台预览的网址代码值。
 
最近在调试在线预订,用到了自定义模型,遇到了些问题,在提交预订时提示:
“数据校验不对,程序返回”
在网上找了很多,试了很多方法,都没有解决。
 
最后看到Dedecms的表单中的最后一段代码:
<input type="hidden" name="dede_fieldshash" value="33a0260e10c5209c22d60e6cb3e8befa" />
就是里面的那个value="33a0260e10c5209c22d60e6cb3e8befa",这个值有问题。
开始,我怎么也找不到这个值在哪里可以取到,也是在网上找了半天,终于找到解决的办法:
在自定义表单增加网所有字段后,点击“前台预览”——>点“发布信息”——>查看页面源文件,就能看到一个完整的form表单,将它拷贝出来。
这里面就有那个value值,这里便是正确的了,覆盖掉代码里的那个就可以了,在提交表单就再也没有错误提示了,成功提交预订了。
而且这个字,你如果修改了自定义表单中的字段类型或者增加字段什么的,好像都会变。那你就都要到前台预览中获取源码中的这个hash值。
好像从5.7后开启了,表单hash验证。往数据库中写入内容时,好像都必须要验证这个hash值,只有一致时数据才能提交成功!
流程图:
 
 
然后自己提交数据,看是否成功
若成功,就右键查看源代码把表单提交那一段代码复制到页面上面去就可以了。
若不成功,有可能字段填写不规范等原因。
分享一首歌轻松一下吧。


推荐阅读