我有一个大问题,我无法解决它。我做了一个简单的登录脚本,它在我的笔记本电脑的LAMP服务器上工作。我很高兴,我上传到我的主机,但在那里我无法登录。我解决了$ _SESSION后无法使用header()。我目前的测试代码没有任何登录和一切:
<?php
session_start();
$_SESSION['test'] = 10;
header("Location: anything.php");
?>
而且它不重定向。哪里有问题?
我有一个大问题,我无法解决它。我做了一个简单的登录脚本,它在我的笔记本电脑的LAMP服务器上工作。我很高兴,我上传到我的主机,但在那里我无法登录。我解决了$ _SESSION后无法使用header()。我目前的测试代码没有任何登录和一切:
<?php
session_start();
$_SESSION['test'] = 10;
header("Location: anything.php");
?>
而且它不重定向。哪里有问题?
问题可能是头已经被发送。也就是说,session_start
发送了几个HTTP头。从http://php.net/manual/en/function.session-start.php:
该函数根据 配置发送多个HTTP标头。请参阅session_cache_limiter()以自定义这些标头。
尝试在error_reporting(-1);
上打开所有的警告和错误(这应该会给你一个警告)。无论如何,在开发过程中这样做是很好的做法。
如果不是这样,那么你必须在头部之前发送一些输出。虽然,看看你给出的示例代码,但情况可能并非如此。
有关该问题的更多信息,请参阅this very nicely answered question。
这就是奇怪的。标题功能之前必须有错误。任何头文件调用之前的错误都会将头文件发送到浏览器,并且您的PHP头文件功能将不起作用。你可以尝试JavaScript来重定向。
<?php
your_code.....
echo "<script type='text/javascript'>document.location='http://youdomain/anything.php';</script>";
?>
你可以描述*不工作*?你得到什么错误? – Rikesh 2013-05-04 08:11:05
没有。只是不重定向 – MLL 2013-05-04 08:11:34
我认为它的_headers已发送问题_ – 2013-05-04 08:11:47