簡體   English   中英

PHP動態頁面包括

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM