Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP表单提交发送空白电子邮件_Php_Html_Forms - Fatal编程技术网

PHP表单提交发送空白电子邮件

PHP表单提交发送空白电子邮件,php,html,forms,Php,Html,Forms,在我的网站上手动提交表单后,我的收件箱中会出现一封带有该主题的电子邮件。电子邮件的主题正确地作为“反馈表提交”发送,但电子邮件本身是空白的。我的表格上没有正文,也没有邮箱中的输入 表格: 电子邮件: 评论: PHP: 您的正则表达式无效。您正在表达式中使用分隔符,但无法执行此操作。如果使用报告,则应该抛出一个错误警告:preg\u replace():未知修饰符“您可以简单地使用过滤器变量($email\u a,filter\u VALIDATE\u email)@Ron我认为正则表达式

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

表格:


电子邮件:

评论:


PHP:


您的正则表达式无效。您正在表达式中使用分隔符,但无法执行此操作。如果使用报告,则应该抛出一个错误<代码>警告:preg\u replace():未知修饰符“您可以简单地使用
过滤器变量($email\u a,filter\u VALIDATE\u email)
@Ron我认为正则表达式正在删除任何潜在的头注入,而不是验证地址。看起来问题中没有包含这些问题。我建议从电子邮件中硬编码,看看是否有效。我还建议输出$feedback并查看它是否被设置。@user3783243这是正确的,正则表达式的目的是删除头注入。我是否正确理解删除分隔符
将解决此问题?这是我读这篇文章的收获:
<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
#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);