使用php将表单数据发送到电子邮件

时间:2015-02-13 16:52:05

标签: javascript php html forms

我写了一个将表单数据发送到我的电子邮件的php页面。 问题是当用户点击提交时,他会自动转到空白 php页面。我想要的不是移动到空白的php页面,用户保持在同一页面而不是表单字段,他看到一条消息,如“谢谢你联系我们”。我怎样才能做到这一点?以及如何设置此消息的样式?

此外,所有表单数据都显示在电子邮件主题上(不在邮件正文中)。有什么办法可以改变吗?

这是PHP:

<?php

    error_reporting(E_ALL);
    ini_set("display_errors", "On");

    $subject="Message from Web";
    $sender=$_POST["user-name"];
    $senderEmail=$_POST["email"];
    $senderPhone=$_POST["phone"];
    $senderCompany=$_POST["company"];
    $message=$_POST["message"];

    $mailBody="Name: $sender\nEmail: $senderEmail\nPhone: $senderPhone\nCompany: $senderCompany\n\n$message";

    mail('mymail@gmail.com', $mailBody, $sender);

    $thankYou="<p>Thank you! Your message has been sent.</p>";

?>

1 个答案:

答案 0 :(得分:0)

<form method="post">
<input type="text" name="to-e-mail">
<input type="text" name="subject">
<textarea name="message">
</textarea>
<input type="submit" value="send">
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$headers = 'From: sender@mail.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($_POST['to-e-mail'],$_POST['subject'],$_POST['message'],$headers);
print 'thank you for contacting us';
}

?>

非常简单的示例如何使用php发送邮件。 请检查安全要求。