我正在使用PHP,我收到了此消息
执行如下代码后无法修改标头信息 - 已经发送的标头(输出 从
开始
:
<?php
if (condition) {
if (condition) {
//Statement
}
$to = $_POST['email'];
$subject = "Registration Confirmation";
$message = '
<html>
<head>
<title>'.$subject.'</title>
</head>
</html>
';
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: <contact@ghanalifestore.com>' . "\r\n";
mail($to,$subject,$message,$headers);
header('Location: reset.php?username='.$username);
exit();
}else {
//statement
}
根据这个答案from Stackoverflow,我认为错误来自变量$message
中的HTML代码。我真的不知道如何修改该变量的内容以避免错误。
请帮我解决这个问题。
答案 0 :(得分:3)
请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。
所以在任何其他类型的输出之前移动header('Location: reset.php?username='.$username);
。
顺便说一下,这个问题已经回答了:
答案 1 :(得分:1)
ob_start();
html也发送输出,这就是为什么会这样,所以使用ob_start();在代码之上,希望这能解决您的问题。
答案 2 :(得分:0)
只需将您的代码更改为 echo'window.location =“ dashboard.php?id = 40”;'; 那就可以了
答案 3 :(得分:0)
更改代码:-
echo'window.location =“ username ='。$ username”;';
exit();