header("location".$url)不能用于if语句中没有生效
一般不生效的情况都是什么呢phpheader()

解决方案 »

  1.   

    没有权限修改了
    程序中的代码是这样的
    header("location:".$url)
      

  2.   


    <?php
    require("../../class/connect.php");
    if(!defined('InEmpireCMS'))
    {
    exit();
    }
    $myuserid=(int)getcvar('mluserid');
    $mhavelogin=0;
    if($myuserid)
    {
    include("../../class/db_sql.php");
    include("../../class/user.php");
    include("../../data/dbcache/MemberLevel.php");
    $link=db_connect();
    $empire=new mysqlquery();
    $mhavelogin=1;
    //数据
    $myusername=RepPostVar(getcvar('mlusername'));
    $myrnd=RepPostVar(getcvar('mlrnd'));
    $r=$empire->fetch1("select ".$user_userid.",".$user_username.",".$user_group.",".$user_userfen.",".$user_money.",".$user_userdate.",".$user_havemsg.",".$user_checked." from ".$user_tablename." where ".$user_userid."='$myuserid' and ".$user_rnd."='$myrnd' limit 1");
    if(empty($r[$user_userid])||$r[$user_checked]==0)
    {
    EmptyEcmsCookie();
    $mhavelogin=0;
    }
    //会员等级
    if(empty($r[$user_group]))
    {$groupid=$user_groupid;}
    else
    {$groupid=$r[$user_group];}
    $groupname=$level_r[$groupid]['groupname'];
    //点数
    $userfen=$r[$user_userfen];
    //余额
    $money=$r[$user_money];
    //天数
    $userdate=0;
    if($r[$user_userdate])
    {
    $userdate=$r[$user_userdate]-time();
    if($userdate<=0)
    {$userdate=0;}
    else
    {$userdate=round($userdate/(24*3600));}
    }
    //是否有短信息
    $havemsg="";
    if($r[$user_havemsg])
    {
    $havemsg="<a href='".$public_r['newsurl']."e/member/msg/' target=_blank><font color=red>您有新信息</font></a>";
    }
    //$myusername=$r[$user_username];
    db_close();
    $empire=null;
    }
    header("Content-type: text/html; charset=utf-8");

    $domain = "s1.frxz2.acgwan.com";  
    $key = "a11111111111111111";

    $username = $myuserid; 
    $ServerId = $_REQUEST['s'];          
    $time = time();
    $issm = 1;   
    $flag = md5("Uname=".$username."&ServerId=".$ServerId."&Key=".$key."&Time=".$time); 

    $GameLoginUrl = "http://".$domain."/f2_game/check.php?username=".urlencode($username)."&ServerId=".$ServerId."&time=".$time."&issm=".$issm."&flag=".$flag;
    if($mhavelogin==1)
    {


    header("Location:".$GameLoginUrl);

    }
    else
    {
    ?>
    您还没有登陆,请先登陆
    <?
    }
    ?>
      

  3.   

    最下面的
    if($mhavelogin==1) {                 header("Location:".$GameLoginUrl);       } else{ ?> 您还没有登陆,请先登陆 <? } ?>改成if($mhavelogin==1) {                 header("Location:".$GameLoginUrl);       } else{ echo '您还没有登陆,请先登陆';}具体的原因你百度找一下关于header函数使用时要注意的地方吧
      

  4.   

    编写PHP代码 希望你有些地方自己严格要求自己 header之前不能有输出 有的UTF8格式的前面有BOM也不行还有就是,跳转可以js实现echo "<script type='text/javascript'>window.location='$url';</script>";
      

  5.   

    多谢提醒
    本人新手,还请多多指教
    现在用的就是JS跳转
    只是想找到本例中header函数不能生效的具体原因
      

  6.   

    把header("Content-type: text/html; charset=utf-8"); 挪到else,都跳转了,这个有啥用?
      

  7.   


    我是说你跳转就不用再输出其他header了
      

  8.   

    我感觉你的文件不是无BOM的,还是要看看header函数使用前的注意事项.