繁体   English   中英

将数据发送到php然后通过电子邮件发送

[英]Sending data to php then emailing

我在尝试获取联系表单以向我发送所有输入的表单值时遇到问题。 目前,我收到的电子邮件仅显示“消息”值,而不显示名称,电话或电子邮件。 我看过一些教程,但是我需要一些不会重新加载页面的东西,所以我给了ajax一个机会。 我根本不擅长使用p​​hp或javascript,因此我可能缺少一些显而易见的东西。

脚本中注释掉的警报确实起作用。

这是我的脚本:

$('#myform').on('valid.fndtn.abide', function() {
    var Name = $("input#Name").val();
    var Email = $("input#Email").val();
    var Phone = $("input#Phone").val();
    var Message = $("textarea#Message").val();
    var dataString = 'name='+ Name + '&email=' + Email + '&phone=' + Phone + '&Message=' + Message;
    //alert (dataString);return false;
    $.ajax({
        type: "POST",
        url: "contactengine.php",
        data: dataString,
        success: function() {
        $('#contact_form').html("<div id='success-message'></div>");
        $('#success-message').html("<h2>Message sent!</h2>")
            .append("<p>We will be in touch soon. If you haven't had a reply within 2 working days please check your junk folder and mark us as safe.</p>")
             .hide()
             .fadeIn(1500, function() {
                 $('#success-message');
                  });
                }
              });
              return false;

              });

和我的PHP:

        <?php

    $EmailFrom = "me@myemail.co.nz";
    $EmailTo = "me@myemail.co.nz";
    $Subject = "New message from website contact form";
    $Name = Trim(stripslashes($_POST['Name'])); 
    $Phone = Trim(stripslashes($_POST['Phone'])); 
    $Email = Trim(stripslashes($_POST['Email'])); 
    $Message = Trim(stripslashes($_POST['Message'])); 

    // validation
    $validationOK=true;
    if (!$validationOK) {
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
      exit;
    }

    // prepare email body text
    $Body = "";
    $Body .= "Name: ";
    $Body .= $Name;
    $Body .= "\n";
    $Body .= "Phone: ";
    $Body .= $Phone;
    $Body .= "\n";
    $Body .= "Email: ";
    $Body .= $Email;
    $Body .= "\n";
    $Body .= "Message: ";
    $Body .= "\n";
    $Body .= $Message;
    $Body .= "\n";

    // send email 
    $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=contactthanks.php\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM