php-header(‘location:..’)不起作用

前端之家收集整理的这篇文章主要介绍了php-header(‘location:..’)不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
(1)我正在将我的网站上传到远程Web服务器.

(2)网站的模板系统的设置方式是通过将url编码的获取请求发送到index.PHP来形成所有页面

(3)加载初始页面作品.此页面通过评估其表单的值来确定下一页的位置.

(4)通过执行以下操作来执行到下一页重定向:头(‘location:next_page’)

(5)由于某些原因,不执行重定向.代码如下所示:

$error = "";
if(isset($_POST['index_choice'])){
    $path_choice = isset($_POST['path']) ? $_POST['path'] : NULL;

    //echo $path_choice;
    //echo $page_inc;

    //nothing after this

    if($path_choice != null){

        if($form->is_connected()){

            //if($path_choice != "" || $path_choice != NULL){
                if($path_choice == "new"){

                    //header('location: /login.PHP');
                    //header('location: page/login');
                    header('location: /index.PHP?page=login');
                    exit();

                }
                else{

                    //header('location: /amend.PHP');
                    //header('location: page/amend');
                    header('location: /index.PHP?page=amend');
                    exit();
                }
            //}
            /**
            else{
                //destroy_session();
                $error = "You haven't selected a path. Please choose a path";
            }
             *
             */
        }
        else{
            //destroy_session();
            $error = "Problems with connecting to the database";
        }
    }else{
        //destroy_session();
        $error = "You have not indicated your choice";
    }

}

解决

这是一个空白的问题?代码中的其他地方将以下命令放置在代码的顶部后,这显示给我:

error_reporting(E_ALL); ini_set('display_errors','On');

我想感谢所有试图帮助的人.

在发送标题(“位置”)之前,您似乎在浏览器中回显文本.
在执行header()之前,您无法将内容发送到浏览器,因为echo将强制发送头.评论这些行,看看它是否有效:
// echo $path_choice;
// echo $page_inc;

现在您的标题将被发送,您将被重定向.

猜你在找的PHP相关文章