PHP邮件发送ajax

时间:2017-02-19 12:41:17

标签: php jquery ajax email

这个PHP发送邮件时遇到了问题。

我在index.php页面中有这个表单:

<form action="">
<input placeholder="Name" class="form" id="name" type="text" required/>
<input placeholder="Email" class="form" id="mail" type="email" required />
<input placeholder="Object" class="form" id="object" type="text" required />
<textarea placeholder="Type here..." id="text" class="form"></textarea>
<input class="formBtn" type="submit" id="submit"/>
<input class="formBtn" type="reset" />

index.php底部的这个脚本

<script>
$('#submit').click(function() {
    var nameform = $('#name').val();
    var mailform = $('#mail').val();
    var objectform = $('#object').val();
    var textform = $('#text').val();
    var mailcomplete = 'Name='+nameform+'Mail='+mailform+'Object='+objectform+'Message='+textform;

    $.ajax({
        type: "POST",
        url: 'php/mail.php',
        data: mailcomplete,
        success: function() {
            alert("Mail send OK!");
        }

    });
});

,这在php / mail.php

 <?php

$name = $_POST["nameform"];
$mail = $_POST["mailform"];

mail($mail, $name, "Hello!");

?>

但是不能工作......你能帮助我吗? TNK

2 个答案:

答案 0 :(得分:0)

将您的php / mail.php更改为:

<?php

$name = $_POST["Name"];
$mail = $_POST["Mail"];

mail($mail, $name, "Hello!");

?>

同样在index.php文件的脚本中,更改:

var mailcomplete = 'Name='+nameform+'Mail='+mailform+'Object='+objectform+'Message='+textform;

var mailcomplete = 'Name='+nameform+'&Mail='+mailform+'&Object='+objectform+'&Message='+textform;

那应该有用。问题是您在数据中传递变量Name和Mail而不是nameform和mailform。此外,在脚本中错误地完成了数据格式化。 Lemme知道它是否仍然不起作用。

答案 1 :(得分:0)

按下你的按钮

<input class="formBtn" type="button" id="submit"/>

var mailcomplete = 'Name='+nameform+'&Mail='+mailform+'&Object='+objectform+'&Message='+textform;

以及php脚本

<?php
$name = $_POST["Name"];
$mail = $_POST["Mail"];
mail($mail, $name, "Hello!");