我收到此错误: 警告:无法修改标头信息 - 已经发送的标头(输出从/Applications/XAMPP/xamppfiles/htdocs/recover.php开始: 11)在第22行的/Applications/XAMPP/xamppfiles/htdocs/recover.php中
这是我的代码,您可以查看一下:
<?php
include 'core/init.php';
logged_in_redirect();
?>
<h1> Recover </h1>
<?php
if (isset($_GET['success']) === true && empty($_GET['success']) === true) {
?>
<p>thanks we have emailed you</p>
<?php
} else {
$mode_allowed = array('username', 'password');
if(isset($_GET['mode']) === true && in_array($_GET['mode'], $mode_allowed) === true) {
if(isset($_POST['email']) === true && empty($_POST['email']) === false){
if (email_exists($_POST['email']) === true) {
recover($_GET['mode'], $_POST['email']);
header('Location: recover.php?success');
exit();
} else {
echo 'we cant find that email in our database';
}
}
?>
<form action="" method="post">
Please enter your email adress:<br>
<input type="text" name="email"><br>
<input type="submit" value="Recover!">
</form>
<?php
} else {
header('Location: index.php');
exit();
}
}
?>
我如何修复此问题的任何想法? 提前致谢
答案 0 :(得分:1)
在PHP输出任何内容后,您无法更改标题信息,重定向。
删除<h1> Recover </h1>
会修复错误,但您应重新考虑代码,以便在任何HTML输出之前显示header('Location: recover.php?success');
。