所以我做了一个自定义页面处理程序,使我的代码更清洁。我有它在多个网站上运行,但在我现在正在工作的网站上,它不起作用。pagehandler不工作的方式它应该
这是代码:
<?php
$page = $_GET["p"];
include_once("pages/" . $page . ".php");
if($page == "") {
header("Location: index.php?p=index");
}
?>
and this is the error: Warning: include_once(): Failed opening 'pages/.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ubuntu/workspace/admin_panel/page-handler.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at /home/ubuntu/workspace/admin_panel/header.php:474) in /home/ubuntu/workspace/admin_panel/page-handler.php on line 5
它适用于所有其他的网站我有它运行上。
有人知道为什么它不起作用吗? 谢谢。
好像$ _GET [ 'P']是空的。此外,你应该做一些事情来确保用户只能访问你想要的文件。也许创建一个有效的页面数组,并检查$ page是否是其中之一。 – rjdown
@rjdown我知道这就是为什么我做了一个if语句。关于这些文件,这不是必需的。它的所有在不同的服务器 –
'if(!empty($ _ GET [“p”])){$ page = $ _GET [“p”]; (做东西/包括)}' - 基本上,你的逻辑是关闭的。您正在检查是否等于'“”',并在GET设置之前尝试包含。 –