【问题标题】:Why is my php script not send the contact form to my email?为什么我的 php 脚本没有将联系表发送到我的电子邮件?
【发布时间】:2017-09-14 03:47:47
【问题描述】:

当有人在我的网站上填写联系表时,我尝试创建一个简单的 PHP 脚本向我发送电子邮件,但我收到 nan 错误消息:

inspirehealth.today 目前无法处理此请求。 HTTP 错误 500

<?php

$first_name = $_POST('first_name');
$last_name = $_POST('last_name');
$email = $_POST('email');
$message = $_POST('message');

$to = "lewkowicz613@gmail.com";
$subject = "Message from Inspire Health";

mail ($to, $subject, $message, "From: " . $first_name . $last_name);
echo "Your Message Has Been Sent";

?>

这是我与表单相关的 html 文件

<section class="section-form js--contact" id="contact">
    <div class="row">
        <h3>Please Subscribe to Our Email List!</h3>
    </div>
    <div class="row">
        <form method="post" action="form_process.php" class="contact-form">
            <div class="row">
                <div class="col span-1-of-3">
                    <label for="first_name">First Name</label>
                </div>
                <div class="col span-2-of-3">
                    <input type="text" name="first_name" id="first_name" placeholder="First Name" required>
                </div>
            </div>
            <div class="row">
                <div class="col span-1-of-3">
                    <label for="last_name">Last Name</label>
                </div>
                <div class="col span-2-of-3">
                    <input type="text" name="last_name" id="last_name" placeholder="Last name" required>
                </div>
            </div>
            <div class="row">
                <div class="col span-1-of-3">
                    <label for="email">Email</label>
                </div>
                <div class="col span-2-of-3">
                    <input type="email" name="email" id="email" placeholder="Your email" required>
                </div>
            </div>
            <div class="row">
                <div class="col span-1-of-3">
                    <label for="message">Drop us a line</label>
                </div>
                <div class="col span-2-of-3">
                    <textarea name="message" id="message" placeholder="Your message" ></textarea>
                </div>
            </div>
            <div class="row">
                <div class="col span-1-of-3">
                    <label>&nbsp;</label>
                </div>
                <div class="col span-2-of-3">
                    <input type="submit" value="Send it!">
                </div>
            </div>
        </form>
    </div>
</section>

我不确定为什么它不能正常工作。这是服务器的事情,因为我将所有文件上传到我的域根目录。 非常感谢。

【问题讨论】:

  • 当你得到 500 检查服务器的错误日志。
  • PHP致命错误:未捕获错误:函数名必须是字符串* ...开启错误检查并显示

标签: php forms server contact


【解决方案1】:

$_POST 是一个全局数组,所以试试:

<?php
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$message = $_POST['message'];

$to = "lewkowicz613@gmail.com";
$subject = "Message from Inspire Health";

mail ($to, $subject, $message, "From: " . $first_name . $last_name);
echo "Your Message Has Been Sent";

?>

希望这会有所帮助:)

【讨论】:

  • 当我使用您的代码时,邮件已发送,但未包含“发件人”或名字或姓氏或电子邮件
  • 很高兴收到它。我只复制了您的代码并修改了 $_POST 行。我建议检查 mail() 用法的示例并调试您的脚本,以找出未填充 from 字段的原因:)
猜你喜欢
  • 2015-09-01
  • 1970-01-01
  • 2015-11-05
  • 2021-01-31
  • 1970-01-01
  • 2014-10-02
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
相关资源
最近更新 更多