Bootstrap JQuery 将错误的数据元素发布到 PHP 邮件

Bootstrap JQuery posting wrong data elements to PHP mail

我正在编写一个婚礼网站,其中包含一个基本表单,用于获取来宾电子邮件地址、来宾姓名、来宾晚餐选项、他们带来的 children 人数以及他们想要的歌曲喜欢玩。然后我想获取这些值并通过 PHP 邮件功能将它们发送到电子邮件地址。这是我目前所拥有的:

这是我的 javascript 的片段。当我将其记录到控制台时,变量 emailAddr、g1_name 和 g1_dinner 都具有正确的值。

var data = {
            email : emailAddr,
            g1Name : g1_name,
            g1Dinner : g1_dinner
            };

$.post("email.php", data, function(){
            alert("Email Success");
        });

这里是 PHP:

     <?php
            $to = "test@email.com";
            $from = $_POST['email'];
            $guestName_1 = $_POST['g1Name'];
            $guestDinner_1 = $_POST['g1Dinner'];
            $message = "Email: "+$from +"\n\nGuest 1: "+$guestName_1+" - "+$guestDinner_1;
            $message = wordwrap($message, 70);

            mail($to,"Wedding RSVP",$message);
    ?>

这是实际得到 POST 的内容:

这是我从网络托管服务商那里收到的电子邮件:

所以我的主要问题是为什么 POST 到我的 PHP 文件的内容与我指定的不同?

然后跟进,为什么我收到的电子邮件是 0 而不是我设置的字符串?

这是执行此类操作的正确方法吗?

感谢任何帮助!谢谢!

PHP 101:字符串连接使用.,你使用的是+,这是数学加法。

'string' + 'string' => generally "0" or wonky integer as result
'string' . 'string' => 'stringstring'