我目前使用以下脚本检查页面是否存在于我的数组中,然后打开它,否则打开我的error.php
<?php
$page = $_GET['page'];
$pages = array('p_1',
'p_2',
'p_3',
'error');
if (!empty($page)) {
if(in_array($page, $pages)) {
$page .= '.php';
require_once('../' . $page . '');
}
}
else {
require_once('../error.php');
}
?>
不小心(直到现在我没有测试它),我添加了一个newpage.php在我的网站,忘记添加它在我的数组。
但是我的脚本没有显示error.php而是打开了newpage.php.
我哪里做错了?
谢谢
很抱歉这么说,但这是不可能的。在这段代码中没有。搜索要求/包括其他地方
并且error.php只在$_GET['page']
为空的情况下显示
<?php
$page = $_GET['page'];
$pages = array('p_1',
'p_2',
'p_3',
'error');
if (!empty($page)) {
if(in_array($page, $pages)) {
$page .= '.php';
require_once('../' . $page . '');
}
else require_once('../error.php');
}
else require_once('../error.php');
?>
我不知道为什么它打开newpage.php没有看到你的代码的其余部分,但我可以告诉你为什么它没有显示error.php页面
你的代码只显示error.php如果$_GET['page'] "为空"(即null, 0, ")。要修复它,您应该尝试以下代码:
<?php
$page = $_GET['page'];
$pages = array('p_1',
'p_2',
'p_3',
'error');
if(!empty($page) && in_array($page, $pages)) {
$page .= '.php';
require_once('../' . $page . '');
} else {
require_once('../error.php');
}
?>