标头功能在在线服务器上不起作用

时间:2013-09-30 08:55:03

标签: header

我一直遇到header()的问题;此脚本由dreamweaver登录生成。为什么它会在一些托管公司工作,而不是在我主办的公司工作?

我注意到header()在我的所有页面上都无法在我的托管公司上运行。为什么我有这个问题?

if (PHP_VERSION >= 5.2) {
    session_regenerate_id(true);
} else {
    session_regenerate_id();
} 

 //declare two session variables and assign them 
$_SESSION['MM_Username'] = $loginUsername; 
$_SESSION['MM_UserGroup'] = $loginStrGroup;  

if (isset($_SESSION['PrevUrl']) && false) { 
    $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];     
} 
header("Location: " . $MM_redirectLoginSuccess ); } 
else { 
    header("Location: ". $MM_redirectLoginFailed ); 
} 
}

2 个答案:

答案 0 :(得分:1)

看起来header()调用的括号有问题:

if (PHP_VERSION >= 5.2) {
    session_regenerate_id(true);
} else {
    session_regenerate_id();
} 

//declare two session variables and assign them 
$_SESSION['MM_Username'] = $loginUsername; 
$_SESSION['MM_UserGroup'] = $loginStrGroup;  

// changes made below <------
if (isset($_SESSION['PrevUrl']) && false) { <--- && false needs fixing
    $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];     
    header("Location: " . $MM_redirectLoginSuccess );
} else { 
    header("Location: " . $MM_redirectLoginFailed ); 
} 

编辑 - if语句中的&& false也将始终失败,这需要解决。

答案 1 :(得分:1)

<body>

之后添加以下代码
ob_start();

</body>

之前添加以下代码
ob_end_flush();

和voola问题解决了。 ^ _ ^