我有这个代码,如果用户设置了dropdownmenu的值,它会将用户重定位到index.php 在一个不相关的页面设置它,请检查我的代码。
if(isset($_GET['d'])&&empty($_GET['d'])===false){
$cur_page=$_SERVER['PHP_SELF'];
$current_page = substr($cur_page,1);
$possible_page = array('terms.php','contact.php','about.php');
if(in_array($current_page,$possible_page)){
header('Location:/index.php?d='.$_GET['d'].'');
exit();
}else{
echo $_GET['d'];
}
它在我的本地服务器上工作正常,但在实时服务器上却没有?
答案 0 :(得分:2)
在php脚本的最开头添加ob_start();
。如果它包含另一个文件,则最后不要使用?>
。感谢
答案 1 :(得分:0)
我总是使用这个小方法,并且在所有情况下都能完美运作。
public static function Redirect($sec, $file)
{
if (!headers_sent())
{
header( "refresh: $sec;url=$file" );
}
elseif (headers_sent())
{
echo '<noscript>';
echo '<meta http-equiv="refresh" content="'.$sec.';url='.$file.'" />';
echo '</noscript>';
}
else
{
echo '<script type="text/javascript">';
echo 'window.location.href="'.$file.'";';
echo '</script>';
}
}
在最后一种情况下,它会重定向。