我想在给我发电子邮件后重定向用户。
代码运行,除非我在email()
- 方法之后放置一些东西(如header()
- 方法)
任何提示?
function process()
{
$msg = "Form Contents: \n\n";
foreach($this->fields as $key => $field)
$msg .= "$key : $field \n";
$to = 'mymail@gmail.com';
$subject = 'thesubject';
$from = $this->fields['email'];
mail($to, $subject, $msg, "From: $from\r\nReply-To: $from\r\nReturn-Path: $from\r\n");
header('Location: thanks.html');
}
答案 0 :(得分:5)
当我遇到类似的问题时,它通常会在一行末尾丢失分号,或者就像这里的情况一样,缺少括号,因为foreach
代码块应该被{}阻止。见documentation。
答案 1 :(得分:0)
您的位置应该是绝对的,而不是相对的。
header("Location: /myPath/thanks.html");
答案 2 :(得分:0)
<?php
header("Location: http://www.example.com/"); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit;
?>
就我而言,有那些引用标志。这样做了。
答案 3 :(得分:-1)
标题后('location:....');你应该添加一个出口;否则脚本会一直运行直到结束。
header('Location: thanks.html');
exit;