织梦dedecms如何实现发送短信验证码后60秒倒计时
利用织梦内容管理系统(DedeCMS)自带提供的自定义表单功能即可满足大多数的此类需求。
通过给自定义表单加入验证码的功能,可以防止一些用户恶意提交。
1、先进入DedeCMS后台生成自定义表单。
2、在自定义表单模板中添加验证码代码,如下:
<input
name="validate" type="text" id="vdcode" style="text-transform:uppercase;" size="8"/><img
id="vdimgck" align="absmiddle" onClick="thissrc=thissrc+''" style="cursor:
pointer;" alt="看不清?点击更换" src="/include/vdimgckphp"/><a
href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a>;
3、在当前页添加JS代码,如下:
<script
type="text/javascript" language="javascript">//验证
码 function changeAuthCode(){var num =newDate()getTime();varrand= Mathround(Mathrandom()10000);
num = num +rand;
$('#ver_code')css('visibility','visible');if($("#vdimgck")[0]){
$("#vdimgck")[0]src ="/include/vdimgckphptag="+ num;}returnfalse;}</script>
4、修改订单处理页面,打开网站根目录/plus/diyphp文件, 添加验证代码到第61行左右位置。如下:
if(!empty($dede_fields)){$validate=empty($validate) '':strtolower(trim($validate));$svali=strtolower(GetCkVdValue());if(($validate==''||$validate!=$svali)&&preg_match("/6/",$safe_gdopen)){
ResetVdValue();
ShowMsg('验证码不正确!',$dede_add,0,1000);exit;}}
首先:增加自定义表单!
第二:添加你需要的字段。我觉得少一点好,干净清新。
第三:确定之后,回到这个页面,前台预览
第四:发布信息之后可以查看源代码。
------------------到这里,一些有基础的老铁已经知道接下来要怎么做了。
-----------------------------------到这里查看源代码,然后复制 from 代码段
-------------------复制源代码段,放到你要调用出来的页面,任何你想放的位置。
放入----------------------------------------
---------------------------------------------------
我是调用在首页底部。。。然后就可以在首页看到了
,,,接下来就是做个CSS 样式表给 from 就可以了。
----------- 完成 -------------
登入dedecms的后台,选择系统 -> 会员设置 -> 在是否开启会员功能选择“是”。保存。
在 系统 -> sql命令行工具 –> 多行命令 –> 填写sql语句(附件文件membersql记事本打开,复制过来) –> 确认执行。把需要的创建的信息写入数据库中。
系统 -> 系统基本参数 -> 其它选项,填写你的短信精灵用户名,密码以及短信签名,确定保存。
把插件中的member目录覆盖到项目目录下。开始到网站前台,注册用户名,测试短信功能。
1编辑器打开plusdiyphp
2在40行左右找到此行代码:
$dede_fields=empty($dede_fields)'':trim($dede_fields);
3在这一行代码之下,加入代码,复制的话删掉代码中的空行
//增加必填字段判断
if($required!=''){
if(preg_match('/,/',$required))
{
$requireds=explode(',',$required);
foreach($requiredsas$field){
if($$field==''){
showMsg('带号的为必填内容,请正确填写','-1');
exit();
}
}
}else{
if($required==''){
showMsg('带号的为必填内容,请正确填写','-1');
exit();
}
}
}
//end
4保存完成后,在表单模版页面找到这行代码:
<formaction="/plus/diyphp"enctype="multipart/form-data"method="post">
在这行代码之下,加入代码:
<inputtype="hidden"name="required"value="数据字段名,数据字段名"/>
注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项
添加新字段--“表单提示文字”:姓名--“字段名称”:name
添加新字段--“表单提示文字”:邮箱--“字段名称”:email
此行代码应为:
<inputtype="hidden"name="required"value="name,email"/>
这样就把这两个选项设置为必填项了,如果没有填写就提交,会打开窗口提示“带号的为必填内容,请正确填写”,当然,这一句话可以改成其它的文字
网上看到另一种方法,未测试,仅作为资料收藏
js方法:
1先在要发布表单的模板上加
<scriptsrc='你的路径/jsjs'type="text/javascript"></script>
2在你自定义的路径新建文件jsjs,然后复制以下内容粘贴保存,代码:
<!--
$(document)ready(function()
{
//验证
$('complain')submit(function()
{
if($('name')val()==""){
$('name')focus();
alert("用户名不能为空!");
returnfalse;
}
if($('tel')val()=="")
{
$('tel')focus();
alert("联系电话不能为空!");
returnfalse;
}
if($('title')val()=="")
{
$('title')focus();
alert("标题不能为空!");
returnfalse;
}
if($('text')val()=="")
{
$('text')focus();
alert("具体内容不能为空!");
returnfalse;
}
})
});
-->
注:
$('complain')submit(function()//complain为自定义表单的ID,如果生成的表单没有可以自行加上,即id="complain"
if($('name')val()==""){
$('name')focus();//name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
3设置好后更新就可以看到效果了
希望本文所述对大家的dedecms建站有所帮助。
0条评论