找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1766|回复: 0

[分享] DEDE使用AJAX无刷新提交Form表单,PHP返回结果

[复制链接]
发表于 2018-7-29 14:35:22 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
  1. $query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar)  VALUES (NULL, 0 $addvalue); ";
复制代码


引入phpmailer

添加以下代码:

  1. /*发送邮件*/  
  2. $addvalue_ary   = explode(',', $addvalue);  
  3. //因为DEDE是将所有表单数据提交过来,所以这里需要分隔一下。  
  4.             $addvar_ary     = array(  
  5.                                     1 => '称呼',  
  6.                                     2 => 'Email',  
  7.                                     3 => '手机/电话',  
  8.                                     4 => '网站',  
  9.                                     5 => '留言内容',  
  10.                                     );  
  11.               
  12.             $text = '';  
  13.             foreach($addvar_ary as $key=>$value)  
  14.             {  
  15.                 $text.=$value.': '.$addvalue_ary[$key].'<br>';  
  16.             }  
  17.   
  18. require("class.smtp.php");   
  19. require("class.phpmailer.php");   
  20. //下载的文件必须放在该文件所在目录,把phpmailer下载后,class.phpmailer.php, class.pop3.php和 class.smtp.php放到/plus目录下  
  21. $mail = new PHPMailer(); //建立邮件发送类  
  22.     $mail->CharSet = "utf-8"; // 这里指定字符集!  
  23. $mail->Encoding = "base64";   
  24. $mail->WordWrap = 50; // set word wrap  
  25. $mail->IsHTML(true); // send as HTML  
  26. $mail->IsSMTP(); // 使用SMTP方式发送  
  27. $mail->Host = "smtp.163.com"; // 您的企业邮局域名,你申请发件邮箱的域名;  
  28. $mail->FromName="新官网留言";  
  29. $mail->SMTPAuth = true; // 启用SMTP验证功能  
  30. $mail->Username = "XXXX@163.com"; // 发件邮箱用户名(请填写完整的email地址),这个邮箱是发送邮箱,phpmailer的意思就是使用一个邮箱向另一个邮箱发邮件,所以提前注册好一个邮箱  
  31. $mail->Password = "XXXXXXX"; // 发件邮箱密码  
  32. $mail->Port=25;  
  33. $mail->From = "XXXX@163.com"; //邮件发送email地  
  34. $address ="XXXX@XXX.cn";//收件人地址址  
  35. $mail->AddAddress($address, "XXX");  
  36. //$mail->AddAddress("XXXX@XXX.cn", "XXX");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")  
  37.   
  38. if($action == 'post') {  
  39.       
  40.     if($do == 2) {  
  41.          
  42.     $mail_title="客户留言".date('y-m-d H:i:s',time());  
  43.     $mail->Subject = $mail_title; //邮件标题  
  44.     $mail->Body = $text; //邮件内容,$name,$phone..等是你取的用户前端提交过来的值,如果不想取数的话,就写个提示信息,如,网站有新订单了,请登录网站及时处理。  
  45.     //showMsg('发送之前', 'javascript:;');  
  46.         if(!$mail->send())  
  47.         {  
  48.         //echo "Fail to send.";  
  49.         showMsg('发送失败', 'javascript:;');  
  50.         //showmsg('发送失败');  
  51.         exit;  
  52.         }  
  53.         //showMsg('发送成功', 'javascript:;');  
  54.         //echo "邮件发送成功"; //dede可以用showmsg('发送成功');来测试是否发送成功  
  55.     }  
  56. }  
  57. /*End 发送邮件*/         
  58.         if($dsql->ExecuteNoneQuery($query))  
  59.         {  
  60.             $id = $dsql->GetLastID();  
  61.             if($diy->public == 2)  
  62.             {  
  63.                 //diy.php?action=view&diyid={$diy->diyid}&id=$id  
  64.                 $goto = "diy.php?action=list&diyid={$diy->diyid}";  
  65.                 $bkmsg = '发布成功,现在转向表单列表页...';  
  66.             }  
  67.             else  
  68.             {  
  69.                 $goto =  '-1';  
  70.                 $bkmsg = '邮件已经自动发送到SPARK工作人员,请等待联系您!';  
  71.             }  
  72.             echo "OK";  
  73.             //showmsg($bkmsg, $goto);  
  74.         }  
  75.     }  
  76. }  
复制代码




JS代码:

  1. var dataString = 'iname='+ $("#name").val() + '&email=' + $("#email").val() + '&tel=' + $("#tel").val()+ '&website=' + $("#website").val()+ '&action=post'+ '&diyid=1&do=2&dede_fields=iname,text;email,text;tel,text;website,text;content,text&dede_fieldshash=1f6d061a5dd65989abfd887';   
  2. $.ajax({   
  3.     type: "POST",   
  4.     url: "/plus/diy.php",   
  5.     data: dataString,   
  6.     success: function(data) {   
  7.         if(data=="OK"){  
  8.                         //关闭遮罩  
  9.                         $("#submitmask").fadeOut(500);  
  10.                         alert("提交成功!");  
  11.                    }else{  
  12.                             $("#submitmask").fadeOut(500);  
  13.                             alert("出错了!请使用其他方式联系我们!");  
  14.                        }  
  15.     }   
  16. });   
  17. return false;  
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-27 06:43 , Processed in 0.041911 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表