【问题标题】:HTTP header location doesn't work [duplicate]HTTP标头位置不起作用[重复]
【发布时间】:2013-11-19 22:09:16
【问题描述】:

此代码使用保护功能。做权限访问级别

标题位置不起作用并且 我查看地址栏发现它还在保护页面中

这是“保护页面”:

 foreach($access_level as $k => $v)
        {
        //  print_r($v); //   output  12    
    protect($v);// call function in loop to get the values of array 
        }

   global $v ;
function protect($v){

 if($_SESSION['sessionloginid']==true && $v ==1)
        {

header(" location: http://localhost/database/agtdatabase/agt_site/display/display.php");

        }

}

【问题讨论】:

  • 你试过相对 URL 吗?
  • 首先,删除global $v,它没用。其次,确保会话已使用session_start() 启动,第三,您应该在header(""); 之后退出脚本,并确保在header() 调用之前没有给出任何输出..
  • 怎么不行?你有错误吗?
  • 尝试删除“位置”之前的空格 - 如果您在重定向之前回显其他任何内容 - 不要。
  • 我之前也注意到@matcarlson

标签: php http mysqli http-headers


【解决方案1】:

您在 HTTP 标头中有一个额外的空间。试试

header("location: http://localhost/database/agtdatabase/agt_site/display/display.php");

而不是

header(" location: http://localhost/database/agtdatabase/agt_site/display/display.php");

【讨论】:

    【解决方案2】:

    你能试试这个吗,去掉header("location")前面的一些空格

         function protect($v){
             global $v ;
             session_start();
             if(isset($_SESSION['sessionloginid']) && $_SESSION['sessionloginid']==true && $v ==1)
              {
                header("location: http://localhost/database/agtdatabase/agt_site/display/display.php"); 
              }
         }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 2011-04-02
      • 2022-01-17
      相关资源
      最近更新 更多