ajax表单不发送电子邮件
Form with ajax doesn't send the email
我试图提交一个表单与ajax,它只是不工作。问题是,它实际上告诉我它发送了邮件,但是当我检查我的邮件时,我什么也没有收到。当我调用Ajax方法时,它似乎停止工作。下面是代码:
HTML:<form method="POST" id="form_contact" class="col_50">
<input type="text" id="prenom_contact" name="prenom_contact" placeholder="Prénom" />
<input type="text" id="nom_contact" name="nom_contact" placeholder="Nom" />
<input type="text" id="email_contact" name="email_contact" placeholder="Courriel" />
<textarea id="message_contact" name="message_contact" rows="6" placeholder="Votre message..."></textarea>
<input type="submit" id="submit_contact" name="submit_contact" value="Envoyer" />
</form>
JS:
var prenom = $("#prenom_contact").val(),
nom = $("#nom_contact").val(),
email = $("#email_contact").val(),
message = $("#message_contact").val();
var error_count = 0;
//THERE IS ADDITIONNAL CODE HERE WHO'S JUST CHECHKING IF THE VAR AREN'T EMPTY, I'M JUST NOT SHOWING IT BECAUSE I KNOW THAT IT IS WORKING
//IF THE FORM HAS NO ERROR
if(error_count === 0)
{
$.ajax({
type: "POST",
url: "http://davidstpierre.ca/new/form_contact.php",
data: "prenom=" + prenom + "&nom=" + nom + "&email=" + email + "&message=" + message,
error: function() {
alert("Une erreur est survenue. Veuillez actualiser la page de nouveau et réessayer.");
},
success: function() {
//RESET THE FORM
$('#prenom_contact').val('');
$('#nom_contact').val('');
$('#email_contact').val('');
$('#message_contact').val('');
alert("Good job!");
}
});
}
PHP: <?php
if($_POST)
{
echo "<p id='contact_success'>Succès!</p>";
$prenom = $_POST['prenom_contact'];
$nom = $_POST['nom_contact'];
$email = $_POST['email_contact'];
$message = $_POST['message_contact'];
$destinataire = "saintpierre.david@gmail.com";
$titre_courriel = "Un nouveau message de la part de " .$prenom." ".$nom. " sur votre portfolio.";
$headers = 'MIME-Version: 1.0' . "'r'n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "'r'n";
$headers .= 'From: '.$prenom.' '. $nom .' <'.$email.'>' . "'r'n";
$codehtml=
"<html><body>" .
"<p><strong>Nom:</strong> ".htmlspecialchars($nom)."</p>".
"<p><strong>Prénom:</strong> ".htmlspecialchars($prenom)."</p>".
"<p><strong>Adresse électronique:</strong> ".htmlspecialchars($email)."</p>".
"<p><strong>Commentaires:</strong> ".htmlspecialchars($message)."</p><br>" .
"</body></html>";
if(!empty($nom) & !empty($prenom) & !empty($email) & !empty($message))
{
if(mail($destinataire, $titre_courriel, $codehtml, $headers))
{
return true;
}
else {
return false;
}
}
else {
return false;
}
}
?>
PHP代码正在查找以下参数:
- prenom_contact
- nom_contact
- email_contact
- message_contact
但是您有以下ajax调用:
data: "prenom=" + prenom + "&nom=" + nom + "&email=" + email + "&message=" + message
另外,最好使用一个对象,这样jQuery会为你编码:
data: {
prenom_contact: prenom,
nom_contact: nom,
email_contact: email,
message_contact: message
},
相关文章:
- 窗口提醒或类似内容中的电子邮件表单
- 从 postmaster@domain.co.uk 收到的 PHP 电子邮件表单
- 将多个电子邮件表单中的电子邮件发送到多个电子邮件地址
- 谷歌应用程序将电子邮件表单脚本转换为PDF格式,但希望清除一些单元格
- 电子邮件表单 选择列表菜单
- 电子邮件表单内容 - 如何部署
- MeteorJS电子邮件表单验证
- HTML/PHP 电子邮件表单
- 电子邮件表单:提交表单后,$_POST 为空
- 电子邮件表单PHP不工作
- 电子邮件表单验证-确保它只有一个'@'象征
- 通过PHP电子邮件将图像文件附加到电子邮件表单
- 我如何自定义MadMimi嵌入式电子邮件表单
- 停用和激活电子邮件表单
- Sencha Touch中的电子邮件表单细节给出例外
- 验证电子邮件表单在IE中不工作
- 不要提交电子邮件表单,除非达到最低总数
- 节点电子邮件表单成功消息
- HTML/PHP:如何使用PHPMailer发送电子邮件表单而不获得空白页
- 使用PHP和AJAX发送电子邮件表单