将SwiftMailer中的联系表单重定向到成功页面不起作用

时间:2012-06-17 09:47:25

标签: php redirect swiftmailer

我不知道关于php的事情但是在我没有帮助和研究的情况下,我设法与Swift Mailer建立了工作联系表。它正在发送消息,但我希望它在发送消息后将人们重定向到thank_you.html页面。我尽我所能,但它不起作用。你可以帮帮我吗?这是代码:

<?php

include("Swift/lib/swift_required.php"); 
$host = 'xxxxxx.xxxxxx@gmail.com';
$password = 'xxxxx'; 
$subject = "zapytanie ze strony"; 
$body = "Zglaszajacy: ".$_POST["fullname"]."\r\n";
$body .= "Telefon: ".$_POST["phone"]."\r\n";
$body .= "E-mail: ".$_POST["email"]."\r\n";
$body .= "Tresc: ".$_POST["description"]."\r\n";

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl') 
->setUsername($host)
->setPassword($password);

$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance($subject)
->setFrom(array($host => 'Klient')) 
->setTo(array('xxxxxxx@xxxx.gmail.com'=> 'xxxxxx'))
->setBody($body);

$result = $mailer->send($message); 
if ($result) 
{ 
    header('Location: http://www.xxxxx.org/thank_you.html'); 
}
echo $result;


?>

我自己添加了那部分:

if ($result) 
{ 
    header('Location: http://www.xxxxx.org/thank_you.html'); 
}

它不起作用。邮件已发送,但表单中没有任何内容发生。它就在那里。请像对待这个人一样对待我;)

1 个答案:

答案 0 :(得分:0)

来自header()的php文档:

  

请记住,在任何实际输出之前必须调用header()   通过普通HTML标记,文件中的空行或PHP发送。   使用include或require读取代码是一个非常常见的错误,   函数或其他文件访问函数,并且有空格或空   调用header()之前输出的行。一样的问题   使用单个PHP / HTML文件时存在。

在拨打header电话之前,您的代码或附带的swift邮件代码可能会输出一些空格。

尝试在代码开头使用ob_start(),然后在结尾使用ob_end_flush()