使用PHP邮件;获取标题警告

时间:2012-11-20 作者:Marc P

我在页面中直接使用PHP mail()创建了一个联系人表单。它成功地通过电子邮件将te联系信息发送给收件人。但是,它不会前进到header()中标识的确认页面,并输出以下错误:

警告:无法修改标题信息-标题已由/home/redacted/redacted.com/wp-content/themes/diner/includes/theme-functions.php:752)发送。com/wp内容/主题/餐厅/页面。php在线163

关于如何解决这个问题,有什么建议或资源链接吗?

<?php
function spamcheck($field)
  {
  //filter_var() sanitizes the e-mail
  //address using FILTER_SANITIZE_EMAIL
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);

  //filter_var() validates the e-mail
  //address using FILTER_VALIDATE_EMAIL
  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }

if (isset($_REQUEST[\'contact_email\']))
  {//if "email" is filled out, proceed

  //check if the email address is invalid
  $mailcheck = spamcheck($_REQUEST[\'contact_email\']);
  if ($mailcheck==FALSE)
    {
    echo "Invalid input";
    }
  else
    {//send email
    $inquirer_name = $_REQUEST[\'contact_name\'] ;
    $email = $_REQUEST[\'contact_email\'] ;
    wp_mail(
"[email protected]",
"Subject: Test contact",
"Name: $inquirer_name
Email: $email "
);
header("Location:http://redacted.com/contact-confirmed");
    }
  } else { //if "email" is not filled out, display the form ?>

<form method="post" action="http://redacted.com/contact">
<ul>
<li>First Name: <input name="contact_name" type="text" /></li>
<li>Email: <input name="contact_email" type="text" /></li>
<li><input type=\'submit\' /></li>
</ul>

<?php } ?>

1 个回复
SO网友:Milo

您不能使用header 在页面中间,内容已经发送到浏览器,这意味着标题已经发送。

看看无数表单插件中的代码,看看它们是如何处理的-hook an action 在加载模板之前,在那里进行表单处理和检查。

结束

相关推荐

no emails for a user account

是否可以在没有电子邮件的情况下创建用户帐户。只是用户名?我看到有一个插件允许在一封电子邮件中包含多个作者。有人对其他方法有什么建议吗。我知道这并不理想,但我有一个用户谁将张贴代表多个用户。让用户通过gravatar为每个新作者验证他们的电子邮件是http://coffee2code.com/wp-plugins/allow-multiple-accounts/