代码之家  ›  专栏  ›  技术社区  ›  Lizard

为什么我的页面仍在执行?

  •  0
  • Lizard  · 技术社区  · 15 年前

    我有一个表单,它发布到一个处理脚本,用于检查日志中的错误。根据处理情况,它的头会重定向到另一个位置。这似乎有效,但我刚刚注意到在头段之后仍在执行一些操作。

    怎么回事?

    3 回复  |  直到 15 年前
        1
  •  11
  •   mauris    15 年前

    我们需要一些代码,看看到底发生了什么…

    但最有可能的情况是,在标题后面(“location:…”)不使用exit();或die();

    例如

    //check your post
    
    if($errors)
    {
        header("Location: errors.php"); // bug fixed =D
        exit();
    
        // this will still be executed if the exit was not there.
    }
    
        2
  •  4
  •   roflwaffle    15 年前

    die(); header() 功能;

        3
  •  0
  •   SimonJ    15 年前

    这是正确的行为-呼叫 header() 不会立即停止脚本。对于大多数其他邮件头(内容类型、etag、expires等),您不会 希望 它会停止,因为这些标题与将要遵循的内容相关;在这方面,位置:有点不寻常。