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

$query = INSERT INTO `{$diy-table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ; 引入phpmailer 添加以下代码: /*发送邮件*/ $addvalue_ary = explode ( , , $addvalue ); //因为DEDE是将所有表单数据提交过来,所以这里需要分隔一下。 $ad

$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;  

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

dedecms织梦默认的TAG标签不是很灵活。有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag=c,h),这样全站调用的时候更灵活。 全站调用TAG标签方法一般是: {dede:tag row='100' sort='new' getall='1'}a target="_blank
未审核文档的TAG会显示在TAG列表页面, 固然点击进入TAG时, 相关的未审核文章不会显示出来, 这样对用户体验是很不好的. DEDECMS暂时没有提供这个功能,所以要解决这个问题, 让DEDECMS不显示未审核文档的TAG, 就要修改TAG的显示库文件 tag.lib.php。 方法一 打
我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp
我们在用到织梦dedecms软件模型的时候,手动指定地址通常只能是引用其他网址或者链接,我们要实现直接选取站内的文件,这个要怎么操作呢?下面小编一步步为您解答,最终效果如下图所示: 实现教程 1、打开 /dede/templets/soft_add.htm 找到 input type=text
我们有时候需要对织梦文档的点击量进行批量维护,比如采集来的文章,点击量都为0,需要批量修改,可以用到如下方法1。 1、在数据库里运行下面的代码就可以了,文章的点击量变得随机从500到1000 UPDATE dede_archives SET click=FLOOR(500 + (RAND() * 1000))
用过dedecms的朋友都知道,织梦cms后台系统基本参数里是无法直接上传图片的,我们更换logo图只能到ftp里替换,非常的不方便,我们如果想直接在系统基本参数里上传,要怎么处理呢?在这里需要对代码进行修改,具体流程如下: 实现方法,打开/dede/templets/sy