我有一个简单的(练习)网站,其结构包括内容选择菜单和内容面板,当选择菜单的元素时,将显示内容。
菜单使用?content_id=...
类型的链接来传递信息。
我想在不存在的id或缺少内容上处理404代码但是为了这样做,我必须在页面加载时计算内容面板的内容,以便我可以在其他所有内容之前输出正确的标题。我最后在我的文件的开头写了这段代码,并在必要时打印$content
变量。无论如何,我对这种方法感到安静不舒服,因为我必须停止自然流来捕捉include
输出。
<?php
// if no content is specified in the address, select the home page (0)
$content_id = (isset($_GET['content_id'])) ? $_GET['content_id'] : 0;
//check if selected content exists and put the content inside the $content variable (to be used later)
if ($content_id < 0 OR $content_id > 2 OR !is_file('exContent/content'.$content_id.'.php')) {
header("HTTP/1.0 404 Not Found");
ob_start();
include 'exContent/noContent.php';
}
else {
ob_start();
include 'exContent/content'.$content_id.'.php';
}
$content = ob_get_contents(); ob_end_clean();
?>
我无法弄清楚最好的方法是什么,如果你能帮助我,我会很高兴的!
答案 0 :(得分:1)
可能会好很多但这是一个开始:)
$includeFile 'exContent/content'.$content_id.'.php';
if ($content_id < 0 OR $content_id > 2 OR !is_file( $includeFile )) {
header("HTTP/1.0 404 Not Found");
$includeFile = 'exContent/noContent.php';
}
ob_start()
include $includeFile;
$content = ob_get_contents();
ob_end_clean();