我得到以下错误:
警告:无法修改标头信息-标头已由..发送
显然,输出是从第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']));
}
?>