php重定向失败,并且不执行任何操作

问题描述

| 我只有带有这行代码的简单php文件。
  <?php header(\"Location: MyBooks.php\",true); exit();?>
表单1将表单提交到此简单的php文件,并且该文件应该重定向到同一目录中的MyBooks.php。 我只是不明白,为什么它不重定向? 没有错误报告。     

解决方法

        似乎是您正在运行的服务器中的问题:http://social.msdn.microsoft.com/Forums/expression/zh-CN/db37d2ea-65ef-40ad-8a25-62a846a5d00d/php-headers-and-redirect 因此,您必须在发送位置标头之前手动为302指定响应代码:
header(\'HTTP/1.0 302 Found\');
header(\'Location: http://localhost/MyBooks.php\');
exit;
并请记住在
Location
中使用绝对URL。     ,        您可能已经通过脚本发送了一些输出(可能只是空白),在这种情况下,您将无法再发送标头。 使用以下代码对其进行测试:
if (headers_sent()) {
    die(\"Error: headers already sent!\");
}
else {
    header(\"Location: MyBooks.php\",true);
    exit();
}
如果输出错误,则需要确保在调用
header
之前完全没有输出。检查: 在调用
header
之前,您根本不会“ѭ5”任何内容(或以其他方式输出任何HTML) PHP脚本中的
<?php
开始标记或
?>
结束标记(如果有)之前绝对没有空格。 更新:如何使用Chrome检查HTTP标头 选择网络标签 从控制台上方的菜单中选择“文档”以缩小右侧的列表 从右侧列表中选择过滤器匹配的唯一资源(此处
http://localhost/
) 单击标题选项卡     ,        我能做到的唯一方法是:
$url = \"http://www.google.com\";
echo \"<script>window.open(\'\".$url.\"\',\'_self\');</script>\";
问候     ,        您还可以将两个标头调用合并为:
header(\'Location: http://localhost/MyBooks.php\',true,302);
exit;
因此,您无需记住HTTP状态代码的格式/说明。标头函数的签名是   无效标头(字符串$ string [,bool   $ replace = true [,int   $ http_response_code]])     ,        我认为这段代码没问题 检查执行是否在这一行, 尝试不使用布尔值
<?php header(\"Location: MyBooks.php); exit();?> 
    ,        我遇到了这个问题,这是由于脚本结束之前在标头中设置了多个位置。
<?php
    // WARNING: BAD CODE

    if($thisShouldBeTrue) {
        header(\'Location: http://www.example.com\');
    }

    if($weShouldNeverGetHere) {
        header(\'Location: http://www.otherexample.com\');
    }
?>
我认为php会立即在第一个标头处重定向,并且永远不会到达第二个if块。我错了。如果您的意图是立即去那里,请务必die()或在重定向后退出。
<?php
    // CORRECT

    if($thisMightBeTrue) {
        header(\'Location: http://www.example.com\');
        die();
    }

    if($orThisMightBeTrue) {
        header(\'Location: http://www.otherexample.com\');
        die();
    }
?>
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...