Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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
Javascript 通过电子邮件发送“parse_str”数据数组_Javascript_Php_Html_Ajax_Forms - Fatal编程技术网

Javascript 通过电子邮件发送“parse_str”数据数组

Javascript 通过电子邮件发送“parse_str”数据数组,javascript,php,html,ajax,forms,Javascript,Php,Html,Ajax,Forms,我有一个大表单,我对所有数据进行序列化,并将它们发送到PHP页面,然后通过电子邮件发送 我的问题是: 我怎样才能在不逐个调用的情况下发送所有数据的电子邮件 我只调用了一些数据,如姓名、电子邮件,但所有其他我想自动添加到电子邮件中的数据 这是我的代码: var data = $("#FormWorkspace").serialize(); //chiamata ajax $.ajax({ type: "POST", url: "form-en

我有一个大表单,我对所有数据进行序列化,并将它们发送到PHP页面,然后通过电子邮件发送

我的问题是:

我怎样才能在不逐个调用的情况下发送所有数据的电子邮件

我只调用了一些数据,如姓名、电子邮件,但所有其他我想自动添加到电子邮件中的数据

这是我的代码:

    var data = $("#FormWorkspace").serialize();

  //chiamata ajax
    $.ajax({

        type: "POST",
        url: "form-engine.php",
          data: data,
          dataType: "html",
        success: function()
            {
          alert("success" + data);
            },
        error: function()
            {
          alert("no success " + data);
            }
        });
PHP是:

    session_start();

  $nome = urldecode($_POST['nome']);
  $email = urldecode($_POST['email']);
  $phone = urldecode($_POST['phone']);
  $company = urldecode($_POST['company']);
  $nation = urldecode($_POST['nation']);
  $messaggio = urldecode($_POST['messaggio']);

  $myPostVar = array();
  parse_str($_POST['data'], $myPostVar);




//Send mail

$to         = $tua_email;
$sbj        = "Richiesta Informazioni - $sito_internet";
$msg        = "
<html>
<head>
<style type='text/css'>
body{
    font-family:'Lucida Grande', Arial;
    color:#333;
    font-size:15px;
}
</style>
</head>
<body>

<h1>Richiesta Preventivo</h1>
<br />
<h2>Dati udente</h2>
<p>Nome:    $nome</p>
<p>Email:   $email</p>
<p>Phone:   $phone</p>
<p>Company: $company</p>
<p>Paese:   $nation</p>

<h3>Messaggio</h3>
<p>$messaggio</p>

<h3>Prodotti selezionati</h3>

$myPostVar // How I can write here??


<p>Fine</p>

</body>
</html>
";

$from        = $email;
$headers     = 'MIME-Version: 1.0' . "\n";
$headers    .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headers    .= "From: $from";

mail($to,$sbj,$msg,$headers); //Invio mail principale.
session_start();
$nome=urldecode($_POST['nome']);
$email=urldecode($_POST['email']);
$phone=urldecode($_POST['phone']);
$company=urldecode($_POST['company']);
$nation=urldecode($_POST['nation']);
$messaggio=urldecode($_POST['messaggio']);
$myPostVar=array();
parse_str($_POST['data'],$myPostVar);
//寄信
$to=$tua_电子邮件;
$sbj=“Richiesta Informazioni-$sito_internet”;
$msg=”
身体{
字体系列:'Lucida Grande',Arial;
颜色:#333;
字体大小:15px;
}
里希斯塔酒店

达蒂乌登特酒店 诺姆:诺姆

电子邮件:$Email

电话:$Phone

公司:$公司

佩斯:国家

梅萨吉奥 $messaggio

普罗多蒂·谢列佐纳蒂 $myPostVar//我如何在这里书写?? 好的

"; $from=$email; $headers='MIME版本:1.0'。“\n”; $headers.='内容类型:文本/html;字符集=iso-8859-1'。“\n”; $headers.=“发件人:$From”; 邮件($to、$sbj、$msg、$headers)//因维奥邮件原则。
如注释中所述,您要做的是分别访问键和值:



请在此处查看它的实际操作:

发布[“数据”]看起来像什么?Ciao Luca,理论上它不应该获取所有表单数据并将其插入数组中?通过这种方式,我在email中返回了一个数组,$nome、$email、$phone、$company和$nation的内容是什么?他们应该填写表格中的数据,而不是
$\u POST[“data”]
…不,我直接从
序列化
中获取这些数据,但我有其他数据要插入电子邮件中,但我不能一一调用。我该怎么办?我会把这个写在答案里!好的,这太有趣了!但是如果我写下:
$\u POST\u data=urldecode($\u POST['data'])
$\u POST\u data=$\u POST['data']
我能做些什么来获取所有数据呢?PHP似乎自动地进行url解码,使用您发布到它的所有数据,只需将所有出现的
$\u POST\u data
重命名为
$\u POST[“data”]
Look no works:(我尝试以这种方式重命名
$\u POST\u data=$\u POST['data'];
或这种
parse\u str($\u POST['data]],$articles);
两者都应该有效。您的整个数据字符串的格式相同吗?我不明白为什么不起作用,您是否显示了任何错误(如果没有,您是否关闭了它们)是的,我想你是对的,我看的每一个网站都告诉我,这必须有效!数据不会出现在电子邮件中。我使用的其他数据是分开的,效果很好。我的意思是,例如:
$nome=urldecode($\u POST['nome']);
如果我像你的例子中那样复制一个字符串,效果也很好。。。