我在这里遇到错误,如何在home.php中选择加载特定文件夹?
我的代码:
<?php
$pass = array('home','main','result');
$lang = array('eng','thai');
if (in_array(@$_GET['page'], $pass, $lang)) {
include ($_SERVER['DOCUMENT_ROOT'] . './jeff/page/' . $_GET['$lang'] . '/' . $_GET['page'] . '.php');
}
elseif (!isset($_GET['page'])) {
include ($_SERVER['DOCUMENT_ROOT'] . './jeff/page/home.php');
} else {
include ($_SERVER['DOCUMENT_ROOT'] . './jeff/page/error.php');
}
?>
我的home.php
<A href="Thai">Thai</a><br />
<a href="Eng">Eng</a>
在我的页面文件夹中,我有另外两个文件夹eng
和thai
。
当用户从home.php中选择语言时,我希望代码将eng或泰语值加载到`$ _GET ['lang']
例如,如果用户选择Eng
,页面将从eng文件夹加载main.php,如果用户选择Thai
,页面将从thai文件夹加载main.php。
我可以知道我哪里出错并且代码无效吗?
非常感谢。
答案 0 :(得分:0)
这可能会更清晰 - 不要认为你需要进一步检查错误,因为你知道你总是可以默认为home.php。另外,不需要第三个in_array()参数:
<?php
$baseUrl = $_SERVER['DOCUMENT_ROOT'] . './jeff/page/';
$pass = array('home','main','result');
$lang = array('eng','thai');
if(!isset($_GET['page']) && !isset($_GET['lang'])){
include ($baseUrl . 'home.php');
} else {
if (in_array($_GET['lang'], $lang)) {
$baseUrl .= $_GET['lang'];
}
if (in_array($_GET['page'], $pass)) {
$baseUrl .= $_GET['page'];
}
include ($baseUrl . '.php');
}