我有一个大问题,我无法解决它。我制作了一个简单的登录脚本,它可以在笔记本电脑的LAMP服务器上运行。我很高兴,我把它上传到我的主机,但我无法登录。我解决了$ _SESSION之后的标题()无效。我目前的测试代码没有任何登录和所有内容:
<?php
session_start();
$_SESSION['test'] = 10;
header("Location: anything.php");
?>
它没有重定向。问题出在哪儿?
答案 0 :(得分:1)
问题可能是标题已经发送。也就是说,session_start
发送了几个HTTP标头。来自http://php.net/manual/en/function.session-start.php:
此函数根据具体情况发送多个HTTP头 组态。请参阅session_cache_limiter()以自定义这些标头。
尝试使用error_reporting(-1);
启用所有警告和错误(这应该会给您一个警告)。无论如何,在开发过程中这样做是很好的做法。
如果不是这样,那么你必须在标题之前发送一些输出。虽然,看看你提供的示例代码,但情况可能并非如此。
有关此问题的详情,请参阅this very nicely answered question。
答案 1 :(得分:-1)
这很奇怪。标头功能之前必须有错误。任何标头调用之前的错误都会将标头发送到浏览器,并且您的php标头功能将无法正常工作。您可以尝试使用javascript重定向。
<?php
your_code.....
echo "<script type='text/javascript'>document.location='http://youdomain/anything.php';</script>";
?>