警告:无法修改标头信息。有任何想法吗?

时间:2015-03-01 14:48:12

标签: php html mysql css sql

我收到以下错误:

警告:无法修改标题信息 - 已经由..发送的标题

显然输出是从第3行开始的,不能从第11行修改。

<html>
<body>
<?php
use google\appengine\api\users\User;
use google\appengine\api\users\UserService;
$user = UserService::getCurrentUser();
if ($user) {
echo 'Hello, ' . htmlspecialchars($user->getNickname());
}
else {
header('Location: ' . UserService::createLoginURL($_SERVER['REQUEST_URI']));
}
?>

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在设置标题之前,您无法输出。在您的情况下,当您尝试设置

时,已经发送了<html><body>个标记
header('Location: ' . UserService::createLoginURL($_SERVER['REQUEST_URI']));

您的代码应该是:

<?php
use google\appengine\api\users\User;
use google\appengine\api\users\UserService;
$user = UserService::getCurrentUser();
if ($user) {
echo '<html>';
echo '<body>';
echo 'Hello, ' . htmlspecialchars($user->getNickname());
}
else {
header('Location: ' . UserService::createLoginURL($_SERVER['REQUEST_URI']));
}
?>