dedecms自定义表单后台给用户审核后怎么自动发送邮件通知用户
比如你输入<label>~name~:</label>~form~元,输出后类似这样的效果:
价格:____元
也就是你前台form表单的表现形式
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建站有所帮助。
把那封邮件在已发送文件夹中删掉。看看是否还会有这样的情况。当邮件的数据文件过大的时候可能会导致这样的状况发生。但不排除其他可能。 也有可能是密码被盗了,被别人利用来发垃圾邮件。 尽快修改你网易邮箱的密码吧!
首先大家需要明白的是自定义表单的数据,是提交到dedecms自带的plug下的diyphp文件进行处理,大家打开一看一眼就能找到我们比较熟悉的标题提交成功提示的信息,也就是“$bkmsg = '发布成功,请等待管理员处理…';”,看到这里我想大家已经能明白怎么修改提交成功的信息了。
那么我们怎么去修改提交成功之后的跳转呢
里面有这样一段代码:
1 if($dsql->executenonequery($query))
2 {
3 $id = $dsql->GetLastID();
4 if($diy->public == 2)
5 {
6 //diyphpaction=view&diyid={$diy->diyid}&id=$id
7 $goto = "diyphpaction=list&diyid={$diy->diyid}";
8 $bkmsg = '发布成功,现在转向表单列表页…';
9 }
10 else
11 {
12 $goto = !empty($cfg_cmspath) $cfg_cmspath : '/';
13 $bkmsg = '发布成功,请等待管理员处理…';
14 }
15 showmsg($bkmsg, $goto);
16 }
这是diyphp自带的代码,我们需要在‘$bkmsg = '发布成功,请等待管理员处理…';’在这后面添加一段代码让他返回到当前页面,代码是“echo "<script>alert('提交成功!'); historygo(-1)</script>";”这样添加过后就可以了。然后替换掉网站原来的文件,就可以实现表单提交过后返回当前页面。最后的代码如下:
1 if($dsql->executenonequery($query))
2 {
3 $id = $dsql->GetLastID();
4 if($diy->public == 2)
5 {
6 //diyphpaction=view&diyid={$diy->diyid}&id=$id
7 $goto = "diyphpaction=list&diyid={$diy->diyid}";
8 $bkmsg = '发布成功,现在转向表单列表页…';
9 }
10 else
11 {
12 $goto = !empty($cfg_cmspath) $cfg_cmspath : '/';
13 $bkmsg = '发布成功,请等待管理员处理…';
14 echo "<script>alert('提交成功!'); historygo(-1)</script>";
15 }
16 showmsg($bkmsg, $goto);
17 }
使用这样的代码就能实现提交表单过后,返回的是当前页面。
0条评论