header()刚刚停止工作

时间:2014-03-06 20:12:49

标签: php header

我有一个奇怪的问题。我用PHP JS等创建了一个应用程序。一切都很好。所有标题也正常工作。但今天我只想查看我的网站,它就停止了工作。

就像这段代码:

<body>
<?php
session_start();
session_destroy();
header("Location: index.php?error=logout");
exit;
?>
</body> 

我没有看到任何输出,任何echo。但它仍然无效。

有人能告诉我什么是错的吗?在我不介意的情况下,PHP规范中的某些内容可能会发生变化吗?

我刚把它编辑成:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Voter</title>

<link rel="Stylesheet" type="text/css" href="style.css" />

</head>

<?php
session_start();
session_destroy();
header("Location: index.php?error=logout");
?>
</html>

这是该网站的完整代码。

当我刚删除所有其他代码时,如下:

<?php
session_start();
session_destroy();
header("Location: index.php?error=logout");
?>

工作正常。但为什么它之前有效,现在我不得不改变它?

2 个答案:

答案 0 :(得分:1)

试试这个:

<?php
session_start();
session_destroy();
header("Location: /index.php?error=logout");
?>

答案 1 :(得分:0)

标题仅在没有打印其他文本时才有效。

因此,header命令必须在

之前
<head>

例如,

<?php
session_start();
session_destroy();
header("Location: index.php?error=logout");
exit;
?>
<body>
</body>