首页 > 解决方案 > PHP 表单提交发送空白电子邮件

问题描述

在我的网站上手动提交表单后,我的收件箱中会出现一封带有主题的电子邮件。电子邮件的主题正确地发送为“反馈表提交”,但电子邮件本身是空白的。我的表单上没有正文,也没有来自邮箱的输入。

形式:

<form action="feedback-form.php" method="post" enctype="text/plain">
  E-mail:<br>
  <input type="text" class="textForm" name="email_address" size="35"><br>
  Comment:<br>
  <textarea name="feedback" class="textForm" rows="6" cols="35"></textarea><br><br>
  <input type="submit" id="submit" class="button" value="Send">
</form>

PHP:

<?php
#Receive user input
$email_address = $_POST['email_address'];
$feedback = $_POST['feedback'];

#Filter user input for invalid characters
function filter_email_header($form_field)
{
  return preg_replace('/[nr|!/<>^$%*&]+/', '', $form_field);
}

$email_address = filter_email_header($email_address);

#Send email
$headers = "From: $email_address";
$sent = mail('me@website.com', 'Feedback Form Submission', $feedback, $headers);

我相信我的mail功能设置正确。表单中的变量与我的 PHP 脚本使用的变量匹配。我的 PHP 和 HTML 在同一个文件中。我在其他问题中读到,在提交空白表单时,将两段代码放在同一个文件中可能会导致问题,但是在将有效信息输入表单时遇到问题。我在这里做错了什么?

标签: phphtmlforms

解决方案


推荐阅读