织梦网站自定义表单设置好后会提交到后台,但是很多管理员不会经常注意到信息,所以我现在给大家分享一下将自定义表单信息提交到指定邮箱:

1、首先在织梦网站后台,进入系统--系统基本参数--核心设置里面,

将红色标注的填写为自己的邮箱帐号(同一个账号哦)

2、打开网站根目录下的plus文件夹,里面有个diy.php文件(表单提交后处理文件),打开它,在85行上下有如下代码: $query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar)  VALUES (NULL, 0 $addvalue); ";这个代码就是将表单数据写入数据库,那么我们就在他下方,加上发送邮件的功能(最下方有我改得diy.php代码 UTF8的! 直接复制放进去! 改下第88行的name):

1.$mailtitle = "用户订单信息";//邮件标题   

2.  

3.$mailbody = "称呼:{$name}\r\n邮箱:{$email}\r\n所在城市:{$city}\r\n国家:{$guojia}\r\n电话:{$tel}\r\n类别:{$qudao}";//$name中name是该input元素的id号   

4.  

5.$headers = $cfg_adminemail;//用我们刚才设置的管理员邮箱发送   

6.  

7.$mailtype = 'TXT';//邮件类型为文本类型   

8.  

9.require_once(DEDEINC.'/mail.class.php');//加载织梦的邮件库   

10.  

11.$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);//创建smtp服务   

12.  

13.$smtp->debug = false;//不起用调试   

14.  

15.$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件  

3、(一般都是国内服务器!不加没什么事!)加上第二步给的代码,就可以实现管理员邮箱给自己发信,内容通过id号获取,不过美国主机是限制自己给自己发邮件的,所以在第二步代码的最后一句,要将其改下:$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件,sendmail(收件人,网站名,发件人,邮件标题,邮件内容,邮件类型),将收件人重新定义一个,比如:

$cfg_smtp_usermail2="xxxx@qq.com";

$smtp->sendmail($cfg_smtp_usermail2,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

这样就可以收到啦。

下面是我个人的测试diy.php代码

第八十八行非常重要!  你要把你表单里面的name全部放进去! 内容才可以!

1.<?php   

2./**

3. *  

4. * 自定义表单  

5. *  

6. * @version        $Id: diy.php 1 15:38 2010年7月8日Z tianya $  

7. * @package        DedeCMS.Site  

8. * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.  

9. * @license        http://help.dedecms.com/usersguide/license.html  

10. * @link           http://www.dedecms.com  

11. */  

12.require_once(dirname(__FILE__)."/../include/common.inc.php");   

13.  

14.$diyid = isset($diyid) && is_numeric($diyid) ? $diyid : 0;   

15.$action = isset($action) && in_array($action, array('post', 'list', 'view')) ? $action : 'post';   

16.$id = isset($id) && is_numeric($id) ? $id : 0;   

17.  

18.if(emptyempty($diyid))   

19.{   

20.    showMsg('非法操作!', 'javascript:;');   

21.    exit();   

22.}   

23.  

24.require_once DEDEINC.'/diyform.cls.php';   

25.$diy = new diyform($diyid);   

26.  

27./*----------------------------

28.function Post(){ }  

29.---------------------------*/  

30.if($action == 'post')   

31.{   

32.    if(emptyempty($do))   

33.    {   

34.        $postform = $diy->getForm(true);   

35.        include DEDEROOT."/templets/plus/{$diy->postTemplate}";   

36.        exit();   

37.    }   

38.    elseif($do == 2)   

39.    {   

40.        $dede_fields = emptyempty($dede_fields) ? '' : trim($dede_fields);   

41.        $dede_fieldshash = emptyempty($dede_fieldshash) ? '' : trim($dede_fieldshash);   

42.        if(!emptyempty($dede_fields))   

43.        {   

44.            if($dede_fieldshash != md5($dede_fields.$cfg_cookie_encode))   

45.            {   

46.                showMsg('数据校验不对,程序返回', '-1');   

47.                exit();   

48.            }   

49.        }   

50.        $diyform = $dsql->getOne("select * from dede_diyforms where diyid='$diyid' ");   

51.        if(!is_array($diyform))   

52.        {   

53.            showmsg('自定义表单不存在', '-1');   

54.            exit();   

55.        }   

56.  

57.        $addvar = $addvalue = '';   

58.  

59.        if(!emptyempty($dede_fields))   

60.        {   

61.  

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

63.            if(is_array($fieldarr))   

64.            {   

65.                foreach($fieldarr as $field)   

66.                {   

67.                    if($field == '') continue;   

68.                    $fieldinfo = explode(',', $field);   

69.                    if($fieldinfo[1] == 'textdata')   

70.                    {   

71.                        ${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));   

72.                        ${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});   

73.                    }   

74.                    else  

75.                    {   

76.                        ${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1],0,'add','','diy', $fieldinfo[0]);   

77.                    }   

78.                    $addvar .= ', `'.$fieldinfo[0].'`';   

79.                    $addvalue .= ", '".${$fieldinfo[0]}."'";   

80.                }   

81.            }   

82.  

83.        }   

84.  

85.        $query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar)  VALUES (NULL, 0 $addvalue); ";   

86.$mailtitle = "用户订单信息";//邮件标题   

87.    

88.$mailbody = "称呼:{$name}\r\n邮箱:{$email}\r\n电话:{$tele}\r\n手机:{$sj}\r\n地址:{$dz}\r\n说明:{$sm}";//$name中name是该input元素的id号   

89.    

90.$headers = $cfg_adminemail;//用我们刚才设置的管理员邮箱发送   

91.    

92.$mailtype = 'TXT';//邮件类型为文本类型   

93.    

94.require_once(DEDEINC.'/mail.class.php');//加载织梦的邮件库   

95.    

96.$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);//创建smtp服务   

97.    

98.$smtp->debug = false;//不起用调试   

99.    

100.$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件   

101.  

102.        if($dsql->ExecuteNoneQuery($query))   

103.        {   

104.            $id = $dsql->GetLastID();   

105.            if($diy->public == 2)   

106.            {   

107.                //diy.php?action=view&diyid={$diy->diyid}&id=$id   

108.                $goto = "diy.php?action=list&diyid={$diy->diyid}";   

109.                $bkmsg = '发布成功,现在转向表单列表页...';   

110.            }   

111.            else  

112.            {   

113.                $goto = !emptyempty($cfg_cmspath) ? $cfg_cmspath : '/';   

114.                $bkmsg = '发布成功,请等待管理员处理...';   

115.            }   

116.            showmsg($bkmsg, $goto);   

117.        }   

118.    }   

119.}   

120./*----------------------------

121.function list(){ }  

122.---------------------------*/  

123.else if($action == 'list')   

124.{   

125.    if(emptyempty($diy->public))   

126.    {   

127.        showMsg('后台关闭前台浏览', 'javascript:;');   

128.        exit();   

129.    }   

130.    include_once DEDEINC.'/datalistcp.class.php';   

131.    if($diy->public == 2)   

132.        $query = "SELECT * FROM `{$diy->table}` ORDER BY id DESC";   

133.    else  

134.        $query = "SELECT * FROM `{$diy->table}` WHERE ifcheck=1 ORDER BY id DESC";   

135.  

136.    $datalist = new DataListCP();   

137.    $datalist->pageSize = 10;   

138.    $datalist->SetParameter('action', 'list');   

139.    $datalist->SetParameter('diyid', $diyid);   

140.    $datalist->SetTemplate(DEDEINC."/../templets/plus/{$diy->listTemplate}");   

141.    $datalist->SetSource($query);   

142.    $fieldlist = $diy->getFieldList();   

143.    $datalist->Display();   

144.}   

145.else if($action == 'view')   

146.{   

147.    if(emptyempty($diy->public))   

148.    {   

149.        showMsg('后台关闭前台浏览' , 'javascript:;');   

150.        exit();   

151.    }   

152.  

153.    if(emptyempty($id))   

154.    {   

155.        showMsg('非法操作!未指定id', 'javascript:;');   

156.        exit();   

157.    }   

158.    if($diy->public == 2)   

159.    {   

160.        $query = "SELECT * FROM {$diy->table} WHERE id='$id' ";   

161.    }   

162.    else  

163.    {   

164.        $query = "SELECT * FROM {$diy->table} WHERE id='$id' AND ifcheck=1";   

165.    }   

166.    $row = $dsql->GetOne($query);   

167.  

168.    if(!is_array($row))   

169.    {   

170.        showmsg('你访问的记录不存在或未经审核', '-1');   

171.        exit();   

172.    }   

173.  

174.    $fieldlist = $diy->getFieldList();   

175.    include DEDEROOT."/templets/plus/{$diy->viewTemplate}";   

176.}  

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

触发修改文章时间【fastadmincms开发记录】|fastadmincms二次开发,触发,修改,文章,时间,fastadmin,ms,开发,记录
触发修改文章时间【fastadmincms开发记录】
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】|fastadmincms二次开发,在tp5中,过滤,输入,的零,宽度,字符,fastadmin,ms,开发,记录
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】
处理tag标签中的0宽空格【fastadmincms开发记录】|fastadmincms二次开发,处理,tag,标签,中的,0宽,空格,fastadmin,ms,开发,记录
处理tag标签中的0宽空格【fastadmincms开发记录】
添加专题时tags标签id出错【fastadmincms开发记录】|fastadmincms二次开发,添加,专题,时tags,标签,id,出错,fastadmin,ms,开发,记录
添加专题时tags标签id出错【fastadmincms开发记录】
20230518----模板 广告【fastadmincms开发记录】|fastadmincms二次开发,20230518,模板,广告,fastadmin,ms,开发,记录
20230518----模板 广告【fastadmincms开发记录】
cms添加视频模型【fastadmincms开发记录】|fastadmincms二次开发,ms,添加,视频,模型,fastadmin,开发,记录
cms添加视频模型【fastadmincms开发记录】
新增单篇收费复制功能【fastadmincms开发记录】|fastadmincms二次开发,新增,单篇,收费,复制,功能,fastadmin,ms,开发,记录
新增单篇收费复制功能【fastadmincms开发记录】
添加开会员折扣功能【fastadmincms开发记录】|fastadmincms二次开发,添加,开会,折扣,功能,fastadmin,ms,开发,记录
添加开会员折扣功能【fastadmincms开发记录】

历史上的今天:04月29日

热门专题

云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学
弥勒综合高中|弥勒综合高中
弥勒综合高中
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)
综合高中|云南综合高中,昆明综合高中,综合高中能考本一吗,综合高中和普通高中的区别,综合高中是什么意思,综合高中能参加全国统一高考吗,综合高中可以考哪些大学,综合高中的学籍是什么
综合高中
安徽中源管业有限公司|安徽中源管业有限公司,安徽中源管业有限公司介绍,安徽中源管业有限公司电话,安徽中源管业有限公司地址,安徽中源管业有限公司厂家,安徽中源管业有限公司电力管,安徽中源管业有限公司管材
安徽中源管业有限公司
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部