PHP web表单到电子邮件

PHP web表单到电子邮件,php,html,css,webforms,Php,Html,Css,Webforms,我已经用PHP设置了一个电子邮件web表单。表单工作正常并发送电子邮件。但它没有重定向,而是出现了这个错误:错误;你需要提交表格! 警告:无法修改标题信息-标题已由第70行的/home/con17120/public_html/form to email.php:5中的/home/con17120/public_html/form-to-email.php发送“尽管表单仍然可以正常工作,但不会重定向 。。。。。 谢谢 HTML: 六月/七月作物: 粉红女士苹果2公斤$7.00 无核帝国官吏1公

我已经用PHP设置了一个电子邮件web表单。表单工作正常并发送电子邮件。但它没有重定向,而是出现了这个错误:错误;你需要提交表格! 警告:无法修改标题信息-标题已由第70行的/home/con17120/public_html/form to email.php:5中的/home/con17120/public_html/form-to-email.php发送“尽管表单仍然可以正常工作,但不会重定向

。。。。。 谢谢 HTML:


六月/七月作物:
粉红女士苹果2公斤$7.00
无核帝国官吏1公斤$4.00
香蕉1公斤$4.00
无籽汤普森葡萄1公斤$6.00
草莓TBA
樱桃TBA
开心果坚果1/4公斤$5.00
腰果1/4公斤$5.00
塔西荷兰奶油土豆2公斤$7.00
鳄梨4号售价7.00美元
西红柿1公斤$4.00
冷榨蜂蜜1公斤$11.00
笼式免费鸡蛋1 Doz$4.00
汤包(胡萝卜、欧芹、洋葱、欧芹、芹菜)$4.00
订单:
为避免延迟,请在此预购。只需选择作物,在下面填写详细信息,然后单击“提交”。
全名:

业务:

电子邮件:

消息

PHP:
//Validate first
if(empty($name)||empty($visitor_email)) 
{
    echo "Name and email are mandatory!";
    exit;
}

if(IsInjected($visitor_email))
{
    echo "Bad email value!";
    exit;
}

$email_from = '';//<== update the email address
$email_subject = "New Order submission";
$email_body = "You have received a new order from: $name.\n".
    "Email:$email_from: /n"
    "Business Name:  $business.\n".
    "Here is the message: $message\n".
    "PinkLadyApples2kg:$check1\n".
    "Mandarines1kg:$check2\n".
    "Bananas1kg:$check3\n".
    "Grapes1kg:$check4\n".
    "Strawberries:$check5\n".
    "Cherries:$check6\n".
    "PistachioNuts1.4kg:$check7\n".
    "CashewNuts1/4kg:$check8\n".
    "TassieDutchPotatoes2kg:$check9\n".
    "Avocados4:$check10\n".
    "Tomatoes1kg:$check11\n".
    "Honey1doz:$check12\n".
    "Eggs1doz:$check13\n".
    "Soup:$check14\n".

$to = "";//<== update the email address
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";

//Send the email!
mail($to,$email_subject,$email_body,$headers);
//done. redirect to thank-you page.
header( 'Location:/thank-you.html' );


// Function to validate against any email injection attempts
function IsInjected($str)
{
  $injections = array('(\n+)',
              '(\r+)',
              '(\t+)',
              '(%0A+)',
              '(%0D+)',
              '(%08+)',
              '(%09+)'
              );
  $inject = join('|', $injections);
  $inject = "/$inject/i";
  if(preg_match($inject,$str))
    {
    return true;
  }
  else
    {
    return false;
  }
}

?> 
//首先验证
if(空($name)| |空($visitor_email))
{
echo“姓名和电子邮件是必需的!”;
出口
}
如果(已输入($visitor_电子邮件))
{
回显“坏邮件值!”;
出口
}

$email_from='';//研究此链接以了解解析错误。这基本上是一个语法错误。您忘记了使用诸如、;“”等文字。

我认为您的代码中有标题('Location:…'),但在这之前有echo,或者在
已发送的错误
Headers
表示您在PHP被强制发送HTTP头之后尝试使用
header()
;这通常是因为在调用
header()
之前,一些代码试图
回显
某些内容(必须在发送数据之前发送头)

  • 检查预先运行的代码中的
    echo
    语句、调用
    print()
    、发送输出的任何内容

  • 检查代码文件的开头。在
    之前是否有空格或换行符我想如果您显示一些代码会更容易:)当您不提供代码时,我如何才能找到您在那里所做的分析错误。现在应该全部编辑和更新。谢谢:在
    之后的
    “Soup:$check14\n“
    应该是
    //Validate first
    if(empty($name)||empty($visitor_email)) 
    {
        echo "Name and email are mandatory!";
        exit;
    }
    
    if(IsInjected($visitor_email))
    {
        echo "Bad email value!";
        exit;
    }
    
    $email_from = '';//<== update the email address
    $email_subject = "New Order submission";
    $email_body = "You have received a new order from: $name.\n".
        "Email:$email_from: /n"
        "Business Name:  $business.\n".
        "Here is the message: $message\n".
        "PinkLadyApples2kg:$check1\n".
        "Mandarines1kg:$check2\n".
        "Bananas1kg:$check3\n".
        "Grapes1kg:$check4\n".
        "Strawberries:$check5\n".
        "Cherries:$check6\n".
        "PistachioNuts1.4kg:$check7\n".
        "CashewNuts1/4kg:$check8\n".
        "TassieDutchPotatoes2kg:$check9\n".
        "Avocados4:$check10\n".
        "Tomatoes1kg:$check11\n".
        "Honey1doz:$check12\n".
        "Eggs1doz:$check13\n".
        "Soup:$check14\n".
    
    $to = "";//<== update the email address
    $headers = "From: $email_from \r\n";
    $headers .= "Reply-To: $visitor_email \r\n";
    
    //Send the email!
    mail($to,$email_subject,$email_body,$headers);
    //done. redirect to thank-you page.
    header( 'Location:/thank-you.html' );
    
    
    // Function to validate against any email injection attempts
    function IsInjected($str)
    {
      $injections = array('(\n+)',
                  '(\r+)',
                  '(\t+)',
                  '(%0A+)',
                  '(%0D+)',
                  '(%08+)',
                  '(%09+)'
                  );
      $inject = join('|', $injections);
      $inject = "/$inject/i";
      if(preg_match($inject,$str))
        {
        return true;
      }
      else
        {
        return false;
      }
    }
    
    ?> 
    
    <?php
    ob_start();
    
    <YOUR CODE>
    
    ob_end_flush();
    
    ?>