織夢(DEDE)表單提交出現“數據校驗不對,程序返回”的解決辦法
2024-04-25 20:51:31
供稿:網友
最近在調試在線預訂,用到了自定義模型,遇到了些問題,在提交預訂時提示:
“數據校驗不對,程序返回”
在網上找了很多,試了很多方法,都沒有解決。
最后看到Dedecms的表單中的最后一段代碼:
<input type="hidden" name="dede_fieldshash" value="33a0260e10c5209c22d60e6cb3e8befa" />
就是里面的那個value="33a0260e10c5209c22d60e6cb3e8befa",這個值有問題。
開始,我怎么也找不到這個值在哪里可以取到,也是在網上找了半天,終于找到解決的辦法:
在自定義表單增加網所有字段后,點擊“前臺預覽”——>點“發布信息”——>查看頁面源文件,就能看到一個完整的form表單,將它拷貝出來。
這里面就有那個value值,這里便是正確的了,覆蓋掉代碼里的那個就可以了,在提交表單就再也沒有錯誤提示了,成功提交預訂了。
而且這個字,你如果修改了自定義表單中的字段類型或者增加字段什么的,好像都會變。那你就都要到前臺預覽中獲取源碼中的這個hash值。
好像從5.7后開啟了,表單hash驗證。往數據庫中寫入內容時,好像都必須要驗證這個hash值,只有一致時數據才能提交成功!
附上網上“數據校驗不對,程序返回”的解決辦法
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值,所以也需要復制前臺預覽的網址代碼值。