如何通过ajax和php在电子邮件中发送数组
我是一个学习者,我需要你的帮助。我有一个在线求职表格,你可以列出过去的工作并输入推荐人。问题是我想发送详细信息,这些信息以数组形式存在,但似乎无法捕捉到中断。 这是html表单如何通过ajax和php在电子邮件中发送数组,php,arrays,ajax,Php,Arrays,Ajax,我是一个学习者,我需要你的帮助。我有一个在线求职表格,你可以列出过去的工作并输入推荐人。问题是我想发送详细信息,这些信息以数组形式存在,但似乎无法捕捉到中断。 这是html表单 <fieldset> <h2>7: Referees</h2> <div class="row clone3"> <div class="form-group"> <label for="address">Name<
<fieldset>
<h2>7: Referees</h2>
<div class="row clone3">
<div class="form-group">
<label for="address">Name</label>
<input type="text" class="form-control" id="name" name="name[]" placeholder="Name">
</div>
<div class="form-group">
<label for="address">Contact (Email)</label>
<input type="text" class="form-control" id="phone" name="phone[]" placeholder="Referee contact">
</div>
<div class="form-group">
<label for="address">Contact (Mobile)</label>
<input type="text" class="form-control" id="email" name="email[]" placeholder="Referee contact">
</div>
</div>
<div class="row"><div class="col-xs-12" align="center"><a href="#" class="add" rel=".clone3">Add Another Referee</a></div><br/><br/></div>
<input type="button" name="previous" class="previous btn btn-default" value="Previous" />
<input type="submit" name="submit" class="submit btn btn-success" value="Submit Application" id="form-submit" />
<div id="msgSubmit" class="h3 text-center hidden"></div>
</fieldset>
下面是通过电子邮件发送表单的php代码
<?php
$errorMSG = "";
// NAME
if (empty($_POST["name"])) {
$errorMSG = "Name is required ";
} else {
$name = $_POST["name"];
}
// EMAIL
if (empty($_POST["email"])) {
$errorMSG .= "Email is required ";
} else {
$email = $_POST["email"];
}
// PHONE
if (empty($_POST["phone"])) {
$errorMSG .= "Phone number is required ";
} else {
$phone = $_POST["phone"];
}
$EmailTo = "xyz@gmail.com";
$Subject = "New Application From the Website";
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
$Body .= "Phone: ";
$Body .= $phone;
$Body .= "\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);
// redirect to success page
if ($success && $errorMSG == ""){
echo "success";
}else{
if($errorMSG == ""){
echo "Something went wrong :(";
} else {
echo $errorMSG;
}
}
?>
现在,问题是表单只作为一个裁判发送电子邮件,即使我输入了几个裁判 “细节,在数组中”…它们在哪里?在代码示例中,每个字段只有一个文本框。我假设您实际上是在页面中克隆这些字段?如果是这样,那也没关系,因为ajax只会获取一个唯一的电子邮件字段、一个唯一的电话字段等。请尝试使用jquery的序列化方法序列化表单,同时还要注意重复的HTML ID,这会使页面无效。“数组中的详细信息”…它们在哪里?在代码示例中,每个字段只有一个文本框。我假设您实际上是在页面中克隆这些字段?如果是这样,那也没关系,因为ajax只会获取一个唯一的电子邮件字段、一个唯一的电话字段等。请尝试使用jquery的序列化方法序列化表单,同时还要注意重复的HTML ID,这会使页面无效。
<?php
$errorMSG = "";
// NAME
if (empty($_POST["name"])) {
$errorMSG = "Name is required ";
} else {
$name = $_POST["name"];
}
// EMAIL
if (empty($_POST["email"])) {
$errorMSG .= "Email is required ";
} else {
$email = $_POST["email"];
}
// PHONE
if (empty($_POST["phone"])) {
$errorMSG .= "Phone number is required ";
} else {
$phone = $_POST["phone"];
}
$EmailTo = "xyz@gmail.com";
$Subject = "New Application From the Website";
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
$Body .= "Phone: ";
$Body .= $phone;
$Body .= "\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);
// redirect to success page
if ($success && $errorMSG == ""){
echo "success";
}else{
if($errorMSG == ""){
echo "Something went wrong :(";
} else {
echo $errorMSG;
}
}
?>