织梦如何自定义表单客户提交后如何发到自己邮箱?.docx

织梦如何自定义表单客户提交后如何发到自己邮箱?.docx
wanghao
wanghao
201
阅读
0
评论
2021年12月01日09:16:18 0 201

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

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)
weinxin
投诉建议
文章名+链接地址,发送到此微信:tourism52
历史上的今天
08月
13
织梦dedecms,通过,tag,标签,获取,相关,文章 站长学院

织梦DedeCMS通过Tag标签获取相关文章

织梦的相关文章是根据tag和文章关键词来的,不过效果不是特别的好,获取文章的数量是比较少的。对织梦系统自带的相关文章标签感兴趣的朋友,可以去看likearticle|织梦相关文章标...
织梦调用多个缩略图 站长学院

织梦调用多个缩略图

织梦调用多个缩略图 DEDECMS列表页面调用缩略图,可以用系统自带的脚本调用第一张图片,也可以通过修改或者自定义织梦函数,来随机调用多张自备缩略图里的一张。 缩略图随机调用代码:...
​fastadmin,一键,管理,插件 站长学院

​FastAdmin一键管理插件

一键管理插件FastAdmin中的插件可以通过命令行快速的进行安装、卸载、禁用和启用。准备工作请确保你的FastAdmin已经能正常登录后台请确保php所在的目录已经加入到系统环境...
2020年,草根,站长,赚钱,有哪,几种,方法 站长学院

2020年草根站长赚钱有哪几种方法?

我们大多数都是草根站长,草根站长在互联网庞大的圈子中如何才能赚到钱已经成为了每个人心中的一个难题。根据不完全统计,艾瑞发布的互联网创业者显示,年收入5000以下的占60%,有66%...
dede去,后台,验证,docx 站长学院

dede去后台验证码.docx

dede去后台验证码.docx织梦怎么取消后台登录的验证码织梦后台登录验证码是一种保护账号安全的措施,但是有时有些朋友不喜欢,要取消掉验证码,那怎么办呢?尤其是在本地测试的时候,验...

评论列表 共有 0 条评论

暂无评论