程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> dedeCMS自定義表單加上驗證碼功能

dedeCMS自定義表單加上驗證碼功能

編輯:PHP綜合

在做企業的網站時,通常會有個留言板表單功能,用戶提交信息和需求到後台的功能,那就不能用多說了,用自定義表單輕松搞定。雖然玩DEDE沒折騰WP這麼有樂趣,不過有時候發現某個功能還是挺有成就感的。

比如你要加個留言板或者報名之類的表單,用這個還是挺方便的,只是有點小麻煩的。

方法/步驟

找到後台-核心-頻道模型-自定義表單

然後點擊增加新的自定義表單

diyid 這個,不管他,默認就好

自定義表單名稱 這個的話,比如你要加個留言板還是投訴建議?寫上去呗

數據表  這個不要碰,默認就行

列表模板、內容模板、發布模板這些,不管他,因為我們根本不需要...

前台列表和內容頁公開? 這個選擇 完全公開或者公開審核過的,反正我們只要到後台能看到別人的留言,不需要審核的,前台反正也不調用的。後面的不公開,如果你勾上了....那就沒下一步了,不信你可以點確定後試試

點確定創建好表單後,就點擊那個修改圖標,看下圖

進去後就是要添加字段了,比如要個姓名,電話,留言內容啥的,點擊上圖的圖標進入

如此這般,把昵稱、電話、留言內容這些表單添加了之後,點確定,再然後添加完字段之後,表單也就完成了,所以,在這裡點擊前台預覽。注意,如果在上上上步你那裡是選中內容不公開,那這裡也就不能浏覽了。

點擊前台預覽後,會出來以下的頁面,這不是重點,點擊右上角的發布信息

出來了一個頁面,這也不是重點,我們也不需要用這頁面,我們只要這頁面的表單代碼,對不對?所以,在這裡右鍵-查看源代碼,然後因為表單是form,如果你不懂代碼沒關系,只要復制<form>這個代碼之內的內容,粘貼到你需要顯示的地方。

然後你要做的就是改樣式了,表格特不爽有麼有?於是用li標簽來替換。我的修改後是如下圖

給DEDE自定義表單添加驗證碼功能

你會發現,直接復制form表單裡面的代碼,會沒有驗證碼....不管怎麼說,驗證碼這玩意還是必須得添加的。

打開根目錄下  /plus/diy.php 文件,然後在第61行,呃,如果沒有顯示行,那就查找

$fieldarr = explode(';', $dede_fields); 

在這一句的前面添加下面的代碼

if(!emptyempty($dede_fields)) 

      { 

       $validate = emptyempty($validate) ? '' : strtolower(trim($validate));            $svali = strtolower(GetCkVdValue());             

               if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){                ResetVdValue(); 

               ShowMsg('驗證碼不正確!',$dede_add,0,1000); 

               exit; 

           } 

      } 

保存之後,還要在模板你添加表單的頁面添加下面的代碼,這個代碼是顯示驗證碼跟輸入驗證碼的,放在表單裡面

<input name="validate" type="text" id="vdcode" size="8"/>   

<img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" alt="看不清?點擊更換" src="../include/vdimgck.php"/>   

<a href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a> 

添加完之後,還要在本頁面添加JQ代碼,以下代碼可以放在網頁底部

<script type="text/javascript" language="javascript"> 

//驗證碼   

function changeAuthCode() {   

   var num =     new Date().getTime(); 

   var rand = Math.round(Math.random() * 10000); 

   num = num + rand; 

   $('#ver_code').css('visibility','visible'); 

   if ($("#vdimgck")[0]) { 

       $("#vdimgck")[0].src = "../include/vdimgck.php?tag=" + num; 

   } 

   return false;     

</script>

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved