给织梦dedecms自定义表单加上验证码功能

在做企业的网站时,通常会有个留言板表单功能,用户提交信息和需求到后台的功能,那就不能用多说了,用自定义表单轻松搞定。虽然玩DEDE没折腾WP这么有乐趣,不过有时候发现某个功能还是挺有成就感的。 比如你要加个留言板或者报名之类的表单,用这个还是挺方

在做企业的网站时,通常会有个留言板表单功能,用户提交信息和需求到后台的功能,那就不能用多说了,用自定义表单轻松搞定。虽然玩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" style="text-transform:uppercase;" size="8"/>   

<img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" 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>  

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

今天我简要地说一下怎么调用频道栏目下文章总数,也就是实现一个文章的数目的统计
大家好今天给大家讲解下织梦技巧的把dedecms字母验证码修改成数字的方法
使用dede时,想在列表页和内容页调用同级栏目的文章,当然可以使用{dede:channelartlist typeid=‘1’ row='5'}的方法,指定栏目id,但是要自动判断当前栏目的同级栏目就没办法了或者需要给每
最近结合部分学员实际情况,考虑到大家刚加入到站长行列,很多知识点不是太明白,所以制作了本系列教程,旨在讲解织梦模板中最常用到的标签,希望对大家有所帮助。
最近有些朋友由于刚接触到建站这个行业,理论知识也不是很强,不太懂什么HTML和DIV+CSS什么的。那我们可以通过以下方法来修改织梦CMS的默认LOGO。
在include/ckeditor文件夹中有一个fck的配置文件ckeditor.inc.php文件,打开后看到里面有4种配置,软件介绍那个是调用的Small的配置,那么只要我们修改一下这个配置就可以了如下:原配置为:$toolbar['Small'] …