【问题标题】:sending form data to email with php使用php将表单数据发送到电子邮件
【发布时间】:2015-02-13 16:52:05
【问题描述】:

我编写了一个将表单数据发送到我的电子邮件的 php 页面。 问题是当用户点击提交时,他会自动移动到一个 blank 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>";

?>

【问题讨论】:

  • 你能给我们一些代码吗?
  • 我建议你看看使用 ajax 将数据发送到你的 php.ini 文件。要将主题添加到您的电子邮件正文中,我们需要查看您的 php 代码以了解您如何设置电子邮件。我们不能盲目工作。我将假设此 php 代码是复制/粘贴,因为您不知道如何将变量/数据插入电子邮件正文。
  • 我编辑了消息。我不喜欢使用 AJAX,因为我不知道如何使用它。
  • 要将主题添加到电子邮件正文中,您可以将`$subject`添加到$mailBody 例如:$mailBody="Name: $sender\nEmail: $senderEmail\nPhone: $senderPhone\nCompany: $senderCompany\n$subject\n\n$message"; 至于将表单数据发送到PHP,您询问了有关如何使用的建议在不将用户推送到该 PHP 页面的情况下做到这一点。那么阿贾克斯会做到这一点。这是您必须学习而不是复制/粘贴的地方如果您对学习没有兴趣,那么我建议您聘请开发人员。
  • 不知道 AJAX 不应该是不尝试使用它的原因。即使是 jQuery AJAX 速记也可以让生活更轻松。

标签: javascript php html forms


【解决方案1】:
<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 发送邮件。 请检查安全要求。

【讨论】:

    猜你喜欢
    • 2014-01-22
    • 2013-12-26
    • 2014-10-24
    • 2020-04-22
    • 2018-06-05
    • 1970-01-01
    • 2015-10-23
    • 2013-10-05
    • 2012-07-02
    相关资源
    最近更新 更多