PHP Header()函数不重定向

时间:2015-10-20 09:13:41

标签: php redirect

我的标题功能有问题

if ( ! isset($_SESSION['user']) ) {

   header('Location: login.php');

}

if之前没有回声,页面是空的!

它不会重定向我。 <{1}}'在If语句中编写了一些内容,但是它有效,所以if是正确的。

php版本是5.6

4 个答案:

答案 0 :(得分:5)

您可能在标题调用之前向浏览器输出了一些内容。首先检查:

  • 在php开启标签

  • 之前是否有任何html
  • 在php打开标记

  • 之前是否有空格
  • 是该脚本之前的echo附带的另一个php脚本

  • 是带有BOM的编码utf8吗?

这些是导致错误的可能原因。

答案 1 :(得分:2)

试试这段代码: -

Select  a.*
from    (   
Select  PersonID    
, ItemID    
, Quantity  
, MIN(DateBought) as minDat
, MAX(DateBought) as maxDat     
from    (
Select  PersonID    
, ItemID    
, Quantity
, DateBought    
, DATEDIFF(day,STR(YEAR(DateBought),4)+'0101',DateBought)+1 - ROW_NUMBER() over(order by PersonID, DateBought) as distance  
from    #temp
) as a

group by    distance
, PersonID  
, ItemID    
, Quantity  
) as a
where   abs(DATEDIFF(dd, minDat, maxDat)) >= 2

答案 2 :(得分:1)

您还可以执行以下操作:

echo "<script>window.location = 'login.php';</script>";

答案 3 :(得分:-1)

空格可能会导致重定向 将其更改为

if ( ! isset($_SESSION['user']) ) {

   header('location:login.php');

 }