为什么重定向PHP只获取白页?

时间:2015-06-16 19:02:53

标签: php redirect

我正在开发PHP,我需要为不同类型的用户更改页面,所以我这样做:

switch ($_SESSION['ruolo']) {
                                case 0:
                                    header('Location: ./php/admin/homeAdmin.php');
                                    exit();
                                    break;
                                case 1:
                                    header('Location: ./php/150ore/home150.php');
                                    exit();
                                    break;
                                case 2:
                                    header('Location: ./php/150ore/home150.php');
                                    exit();
                                    break;
                                default:
                                    break;
                            }

但我只获得一个白页......没有任何错误..

为什么?我哪里错了?

编辑:

我没有违约,我嘲笑它..

这是我想要重定向的页面:

<?php require_once './php/doctype.php'; ?>
<html>  
    <head>
        <meta charset="UTF-8">
    </head>
    <body>

        PROVA!!!
    </body>
</html>

2 个答案:

答案 0 :(得分:3)

为了调试这个,有几件事要做:

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
switch ($_SESSION['ruolo']) {
    case 0:
        header('Location: ./php/admin/homeAdmin.php');
        exit();
        break;
    case 1:
        header('Location: ./php/150ore/home150.php');
        exit();
        break;
    case 2:
        header('Location: ./php/150ore/home150.php');
        exit();
        break;
    default:
        var_dump("I'm the default case!"); //If you get this, then your session variable is different to 0, 1 or 2.
        break;
}

现在,在您的homeAdmin.phphome150.php页面中,添加到顶部:

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

看看错误在说什么。

根据您的最新编辑,我可以看到您正在使用require_once,如果给定文件引发错误,require将停止执行,请尝试将require_once更改为{{1为了检查它是否有效,并在include_once文件中共享什么。另一件要尝试的事情如下:

doctype.php

答案 1 :(得分:0)

The Location header takes an absolute URL您似乎在提供相对文件路径。

另外,正如其他人所说,由于其他地方的错误,脚本可能只是完全失败了。查看错误日志。