我們在用DedeCMS自定義表單功能的時候,一般都是在本地測試,成功后再上傳到空間實測,把自定義表單備份在空間還原之后,在提交表單的時候卻提示“數據校驗不對,程序返回 ”,在自定義表單中點擊發布信息卻并沒有這個問題,一切正常。
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,網站轉移之后這個值也會變化,并沒有及時修改這個值,導致出錯,那么怎么找到這個值呢?
找到自己設置好的自定義表單,點擊“前臺預覽”
如果提示前臺預覽關閉,則點擊“修改”,將“前臺列表和內容也公開”選項勾選為“完全公開”。
DedeCMS自定義表單出現“數據校驗證不對,程序返回”的解決方案
在預覽自定義表單界面點擊右上角的“發布信息”
DedeCMS自定義表單出現“數據校驗證不對,程序返回”的解決方案
即可到信息發布的頁面,查看源代碼,找到“ dede_fieldshash”,后面的value值即為我們需要的新的值,放到自己的模版中即可解決“數據校驗不對”的報錯問題,再去提交表單則提示成功。