所以我创建了一个自定义页面处理程序,使我的代码更清晰。我在多个网站上运行它,但在我现在正在工作的网站上它不起作用。
这是代码:
<?php
$page = $_GET["p"];
include_once("pages/" . $page . ".php");
if($page == "") {
header("Location: index.php?p=index");
}
?>
这是错误: 警告:include_once():无法打开&#39;页面/ .php&#39;在第3行的/home/ubuntu/workspace/admin_panel/page-handler.php中包含(include_path =&#39;。:/ usr / share / php:/ usr / share / pear&#39;)
警告:无法修改标题信息 - 已在/home/ubuntu/workspace/admin_panel/page-handler.php上发送的(已在/home/ubuntu/workspace/admin_panel/header.php:474开始输出)的标题5
它适用于我运行的所有其他网站。
有人知道它为什么不起作用吗? 感谢。
答案 0 :(得分:3)
根据OP的要求:
评论回答:
if(!empty($_GET["p"])){
$page = $_GET["p"];
// (do stuff/include)
}
基本上,你的逻辑是关闭的。您正在检查是否等于""
并尝试在设置GET之前包含。
检查以下帖子还有关于已发送警告的标题:
另外,最好在任何标题之后添加exit;
。否则,如果您有更多的代码,您的代码可能希望继续执行。
参考: