我有一个代码,我正在努力工作。请原谅我的无知,我试图学习,但我找不到任何特别有帮助的东西。
我想做的是:
在我的索引上,显示show_news.php
使用index.php?page=blank
时,显示blank.php
如果所选页面不存在,我想显示自定义404页面。如果使用blank2.php
并且不存在,则说明其中包含404.php
404页面是我挣扎的。
<?php
$number = 4;
if(!$_GET[page]){
include "show_news.php";
} elseif ($_GET[page]) {
include $_GET[page].".php";
} else {
include "404.php";
}
?>
答案 0 :(得分:0)
尝试使用file_exists()函数 http://php.net/manual/ru/function.file-exists.php
<?php
$number = 4;
define('ROOTPATH', __DIR__);
$project_path = ROOTPATH . "/path/to/page/files/";
$page = $_GET["page"];
$is_file_existing = $file_exists($project_path . $page . ".php");
if(!$page){
include "show_news.php";
} elseif ($is_file_existing) {
include $page . ".php";
} else {
include "404.php";
}
?>
答案 1 :(得分:0)
我没有得到你的问题。 但是我会这样做:
if (isset($_GET['page']))
include_once(dirname(__FILE__) . '/' . $_GET['page'] . '.php');
else
include_once(dirname(__FILE__) . '/show_news.php');
然后在.htaccess文件中:
RewriteEngine On
RewriteBase /
ErrorDocument 404 /404.php
修改强> 在将其传递给 $ _ GET 之前,请使用 mysqli_real_escape_string 。