Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP JavaScript的退出弹出窗口中添加数据输入后发送电子邮件的功能_Javascript_Php_Html_Google Tag Manager - Fatal编程技术网

如何在PHP JavaScript的退出弹出窗口中添加数据输入后发送电子邮件的功能

如何在PHP JavaScript的退出弹出窗口中添加数据输入后发送电子邮件的功能,javascript,php,html,google-tag-manager,Javascript,Php,Html,Google Tag Manager,我在Google tag manager中使用自定义HTML和我的目录文件中的PHP代码设置了以下内容,以创建一个退出弹出窗口,收集姓名、公司和电子邮件地址以获得折扣。我通过将数据保存到数据库使其正常工作,但是我想添加一个额外的功能,在他们单击“注册”后向我发送一封包含相同数据信息(姓名、公司和电子邮件地址)的电子邮件。我如何正确地添加这个 它必须保持两个独立文件的格式,并以此在谷歌标签管理器中工作 #乌伊布森模式{ 显示:无; } .覆盖{ 位置:固定; 排名:0; 左:0; 右:0; 底

我在Google tag manager中使用自定义HTML和我的目录文件中的PHP代码设置了以下内容,以创建一个退出弹出窗口,收集姓名、公司和电子邮件地址以获得折扣。我通过将数据保存到数据库使其正常工作,但是我想添加一个额外的功能,在他们单击“注册”后向我发送一封包含相同数据信息(姓名、公司和电子邮件地址)的电子邮件。我如何正确地添加这个

它必须保持两个独立文件的格式,并以此在谷歌标签管理器中工作


#乌伊布森模式{
显示:无;
}
.覆盖{
位置:固定;
排名:0;
左:0;
右:0;
底部:0;
背景色:rgba(0,0,0,0.4);
背景:url(数据:base64,IVBorW0KggoaaaAnsuhueugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababa;
z指数:9998;
颜色:#fff;
过渡:不透明度500ms;
}
.含量h2{
字号:19pt;
颜色:#ed1c24;
}
.弹出窗口{
边际:0px;
填充:20px;
z指数:9999;
垫底:0px;
文本对齐:左对齐;
高度:350px;
背景:#fff;
边界半径:5px;
宽度:225px;
位置:固定;
左:50%;
最高:50%;
转换:翻译(-50%,-50%);
颜色:#000;
}
.popup.closePopupCross{
位置:绝对位置;
顶部:20px;
右:30px;
过渡:所有200ms;
字体大小:30px;
字体大小:粗体;
文字装饰:无;
颜色:#333;
}
.表格组{
填充顶部:20px;
}
.帮助阻止{
字号:10pt;
颜色:#C71585;
}
.popup.closepopup{
字号:11pt;
颜色:#aaa;
左边距:30px;
}  
.签名按钮{
背景色:#ed1c24;
边界:无;
颜色:黑色;
填充:8px 16px;
文本对齐:居中;
文字装饰:无;
显示:内联块;
字体大小:14px;
}  
诺布顿先生{
背景色:#ccc;
边界:无;
颜色:黑色;
填充:9px 16px;
文本对齐:居中;
文字装饰:无;
显示:内联块;
字体大小:14px;
}  
$(文档).ready(函数(){
$('body').prepend('想要5%的折扣吗?填写表格订阅我们的时事通讯,以获得每月5%的折扣或免费的地面运输、新闻和更新!全名:公司:电子邮件:
注册]; $('.closePopupLink、.closeLeavePage、.overlay')。单击(函数(){ $('.overlay,.popup').fadeOut(500); }); $(“#时事通讯_弹出窗口”)。提交(功能(事件){ $('.form group').removeClass('has-error'); $('.help块').remove(); var formData={ 'name':$('input[name=name]')。val(), 'company':$('input[name=company]')。val(), 'email':$('input[name=email]')。val() }; jQuery.ajax({ 键入:“POST”, url:“/progress.php”, 数据:formData, 数据类型:“json”, 编码:对, 异步:true }) .完成(功能(数据) { 控制台日志(数据); 如果(!data.success) { if(data.errors.name) { $(“#名称组”).addClass('has-error'); $(“#名称组”).append(“”+data.errors.name+“”); } if(data.errors.name) { $(“#公司集团”).addClass('has-error'); $(“#公司集团”).append(“”+data.errors.name+“”); } if(data.errors.email) { $(“#电子邮件组”).addClass('has-error'); $(“#电子邮件组”).append(“”+data.errors.email+“”); } } 其他的 { $(“#时事通讯弹出窗口”).append(“”+data.message+“”); //window.location='/thank-you'; } }) .失败(功能(数据){ 控制台日志(数据); }); event.preventDefault(); }); var_ouibounce=ouibounce(document.getElementById('ouibounce-modal'){ 侵略性:是的, 计时器:0, 回调:函数(){console.log('ouibounce fired!');} }); });

您可以将带有变量$message的函数mail用作字符串

$message = $_POST['name'].' '.$_POST['company'].' '.$_POST['email'];
mail($to, $subject, $message, $headers);

请小心在您的“姓名”和“公司”变量上使用
filter\u var
!从中,filter_var“返回筛选数据,如果筛选失败,则返回FALSE。”。由于您没有分配
name
company
的筛选结果,因此在插入查询中未初始化它们。在将用户提供的数据合并到任何数据库查询中时,还建议使用预先准备好的语句或参数化查询,以防止“SQL注入”。我将如何执行此操作?我将在何处插入此语句?插入后,您可以查看此语句以获得更好的解释