-3

我有一个大问题,我无法解决。我制作了一个简单的登录脚本,它可以在我笔记本电脑的 LAMP 服务器上运行。我很高兴,我将它上传到我的主机,但我无法登录。我解决了 header() 在 $_SESSION 之后不起作用。我当前的测试代码没有任何登录和一切:

 <?php
 session_start();
 $_SESSION['test'] = 10;
 header("Location: anything.php");
 ?>

而且它不会重定向。问题出在哪里?

4

2 回答 2

1

问题可能是标头已经发送。也就是说,session_start发送几个 HTTP 标头。从http://php.net/manual/en/function.session-start.php

此函数根据配置发送几个 HTTP 标头。请参阅 session_cache_limiter() 以自定义这些标头。

尝试使用 . 打开所有警告和错误(这应该会给你一个警告)error_reporting(-1);。无论如何,在开发过程中这样做是一种很好的做法。

如果不是这样,那么您必须在标题之前发送一些输出。尽管查看您提供的示例代码,但可能并非如此。

有关该问题的更多信息,请参阅这个很好回答的问题。

于 2013-05-04T08:37:46.023 回答
-1

这就是奇怪。头函数之前一定有错误。在任何标头调用将标头发送到浏览器之前发生错误,并且您的 php 标头功能将不起作用。您可以尝试使用 javascript 进行重定向。

<?php
your_code.....
echo "<script type='text/javascript'>document.location='http://youdomain/anything.php';</script>";
?>
于 2013-05-04T08:35:05.477 回答