[英]submit form with jquery / ajax / php without page refresh. Can't get form value to email
我想使用jquery / php为跟踪号提交单个表单输入,以便页面不刷新。 我能够提交表单并将电子邮件发送给我,但无法弄清楚要放在$ email_body中的内容,所以它实际上会通过电子邮件向我发送表单信息。 电子邮件将发送空白(因此我假设电子邮件在PHP代码中)。 请参阅下面的HTML / JS / PHP:
HTML:
<form id="track-form" accept-charset="UTF-8" action="" size="30" class="form-inline" method="POST">
<input class="focus" name="tracking" id="tracking" placeholder="tracking code" value="" type="text"/>
<input class="btn btn-default btn-track" name="submit" type="submit" value="Send" />
<img id="success" style="display:none" src="img/check.png" />
<br>
<label class="error" for="tracking" id="track-error">You must enter your tracking code!</label>
</form>
JS:
$(document).ready(function() {
$('.error').hide();
$("#track-form").on('submit', function(e) {
$('.error').hide();
var track = $("input#tracking").val();
if (track == "") {
$("label#track-error").show();
$("input#tracking").focus();
return false;
};
$.ajax({
url:'sendtrack.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
console.log(data);
$("#success").fadeIn(300); //=== Show Success Message==
},
});
e.preventDefault();
});
});
PHP(问题出在哪里):
<?php
$track = $_POST['tracking'];
$email_from = 'info@website.com';
$email_subject = "New Tracking Info";
$email_body = "Tracking Number: $track".
$to = "email@gmail.com";
$headers = "From: $email_from \r\n";
//Send the email!
mail($to,$email_subject,$email_body,$headers);
?>
如果我保留$ email_body,我会收到“500 Server Error”。 如果我把它留空,我会收到一封电子邮件,里面只有“email@gmail.com”,没有追踪号码。
在此先感谢您的帮助!
改变这一行:
$email_body = "Tracking Number: $track".
至:
$email_body = "Tracking Number: $track";
结束的分号丢失了。 你的位置有一个点。
你也可以尝试:
$email_body = "Tracking Number: " . $track . "\r\n";
注意 :如下所示使用/添加标题将减少被误认为垃圾邮件的可能性。
例如:
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
因此,您的新标题将显示为:
$headers = 'From: $email_from' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
根据PHP.net上的mail()
函数http://php.net/manual/en/function.mail.php
你最后没有分号
$email_body = "Tracking Number: $track".
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.