2013-05-04 60 views
-3

我有一个大问题,我无法解决它。我做了一个简单的登录脚本,它在我的笔记本电脑的LAMP服务器上工作。我很高兴,我上传到我的主机,但在那里我无法登录。我解决了$ _SESSION后无法使用header()。我目前的测试代码没有任何登录和一切:

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

而且它不重定向。哪里有问题?

+2

你可以描述*不工作*?你得到什么错误? – Rikesh 2013-05-04 08:11:05

+0

没有。只是不重定向 – MLL 2013-05-04 08:11:34

+0

我认为它的_headers已发送问题_ – 2013-05-04 08:11:47

回答

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

这就是奇怪的。标题功能之前必须有错误。任何头文件调用之前的错误都会将头文件发送到浏览器,并且您的PHP头文件功能将不起作用。你可以尝试JavaScript来重定向。

<?php 
your_code..... 
echo "<script type='text/javascript'>document.location='http://youdomain/anything.php';</script>"; 
?> 
+0

我不知道为什么down投这个答案? – 2013-05-04 08:42:28

+0

而且我也不这样做为什么我被禁止从社区.. – MLL 2013-05-04 08:43:07

+0

奇怪的事情正在发生 – MLL 2013-05-04 08:43:26