[英]PHP Dynamic page include
當通過URL請求時,我有一個包含文件的簡單PHP腳本。
例如: http : //example.com/index.php? page=about因此,這包括about.inc頁面
這正在工作,但是我還有另一個問題。 當有人訪問首頁時,只需: http : //example.com/ 。 它會告訴我這個
Undefined index: beta in /home/admin/domains/mydomainname.nl/public_html/index.php on line 3
那是:
$page = $_GET['page'];
我知道我可以禁用PHP中的錯誤通知,但這不是解決方案,而是一種解決方法。
$path = 'app/inc/pages/dynamic/';
$page = $_GET['page'];
$php = '.inc';
$both = $path . $page . $php;
$pages = array('index', 'home', 'about', 'contact');
if (!empty($page)) {
if(in_array($page,$pages)) {
//$page .= '.php';
include($both);
}
else {
include('app/inc/pages/dynamic/404.inc');
}
}
else {
include('app/inc/pages/dynamic/home.inc');
}
}
它確實包含通過
else {
include('app/inc/pages/dynamic/home.inc');
}
我的問題是如何解決?
試試這個:用3代替3行:
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';
如果沒有頁面,它將在$page
變量中設置為空。 您在$ path中有雙$
。 完整代碼:
$path = 'app/inc/pages/dynamic/';
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '' ;
$php = '.inc';
$both = $path . $page . $php;
$pages = array('index', 'home', 'about', 'contact');
if (!empty($page)) {
if(in_array($page,$pages)) {
//$page .= '.php';
include($both);
}
else {
include('app/inc/pages/dynamic/404.inc');
}
}
else {
include('app/inc/pages/dynamic/home.inc');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.