警告:无法修改标头信息.任何想法


Warning: Cannot modify header information. Any ideas?

我得到以下错误:

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

显然,输出是从第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']));
}
?>

有什么办法解决这个问题吗?

在设置标题之前,不能有任何输出。在您的情况下,当您尝试设置时,<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']));
}
?>
相关文章: