我正在开发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>
答案 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.php
和home150.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您似乎在提供相对文件路径。
另外,正如其他人所说,由于其他地方的错误,脚本可能只是完全失败了。查看错误日志。