主页 > 网站建设 > 建站知识 > 织梦如何自定义表单客户提交后如何发到自己邮

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

POST TIME:2021-05-21 00:58

织梦网站自定义表单设置好后会提交到后台,但是很多管理员不会经常注意到信息,所以我现在给大家分享一下将自定义表单信息提交到指定邮箱:
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} 邮箱:{$email} 所在城市:{$city} 国家:{$guojia} 电话:{$tel} 类别:{$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=newsmtp($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.php115:382010年7月8日Ztianya$
  7. *@packageDedeCMS.Site
  8. *@copyrightCopyright(c)2007-2010,DesDev,Inc.
  9. *@licensehttp://help.dedecms.com/usersguide/license.html
  10. *@linkhttp://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_onceDEDEINC.'/diyform.cls.php';
  25. $diy=newdiyform($diyid);
  26.  
  27. /*----------------------------
  28. functionPost(){}
  29. ---------------------------*/
  30. if($action=='post')
  31. {
  32. if(emptyempty($do))
  33. {
  34. $postform=$diy->getForm(true);
  35. includeDEDEROOT."/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*fromdede_diyformswherediyid='$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($fieldarras$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="INSERTINTO`{$diy->table}`(`id`,`ifcheck`$addvar)VALUES(NULL,0$addvalue);";
  86. $mailtitle="用户订单信息";//邮件标题
  87.  
  88. $mailbody="称呼:{$name} 邮箱:{$email} 电话:{$tele} 手机:{$sj} 地址:{$dz} 说明:{$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=newsmtp($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. functionlist(){}
  122. ---------------------------*/
  123. elseif($action=='list')
  124. {
  125. if(emptyempty($diy->public))
  126. {
  127. showMsg('后台关闭前台浏览','javascript:;');
  128. exit();
  129. }
  130. include_onceDEDEINC.'/datalistcp.class.php';
  131. if($diy->public==2)
  132. $query="SELECT*FROM`{$diy->table}`ORDERBYidDESC";
  133. else
  134. $query="SELECT*FROM`{$diy->table}`WHEREifcheck=1ORDERBYidDESC";
  135.  
  136. $datalist=newDataListCP();
  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. elseif($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}WHEREid='$id'";
  161. }
  162. else
  163. {
  164. $query="SELECT*FROM{$diy->table}WHEREid='$id'ANDifcheck=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. includeDEDEROOT."/templets/plus/{$diy->viewTemplate}";
  176. }



收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266