2014-06-29 38 views
0

我該如何隱藏php通知解決問題。如何解決「通知:未定義索引:...」

我的代碼

if(empty($_GET['mode']) && !$_GET['page']) { 
    include($basepath.'/templates/template.home.php'); 
} 

公告:未定義的索引:在/var/www/public_html/index.php頁第1行

我想這樣

if(empty($_GET['mode']) && !isset($_GET['page']) && !$_GET['page']) { 
    include($basepath.'/templates/template.home.php'); 
} 

但仍顯示出

注意:未定義索引:第1行的/var/www/public_html/index.php網頁

我該如何解決/修復它?

回答

3

問題的是,你使用&&操作時在兩個語句!$_GET['page']使用。

當您在兩種情況下使用!$_GET['page']即使您添加了!isset($_GET['page']這種情況在$_GET['mode']中檢查爲空。

您簡單的或許應該改變你的語句從:

if(empty($_GET['mode']) && !$_GET['page']) { 
    include($basepath.'/templates/template.home.php'); 
} 

if(empty($_GET['mode']) && !isset($_GET['page'])) { 
    include($basepath.'/templates/template.home.php'); 
} 

在這種情況下簡單,如果$_GET['page']未設置(當然模式是空的),你應該包括網頁模板

+0

非常好的解釋,但最後提到'$ _GET ['page']'缺少一個撇號。 :) – ljacqu

+0

@ljacqu謝謝。我剛修好了 –

+0

謝謝,很好的詳細答案。 – AMB

0

無論modepage不存在數組$_GET中 - 所以你需要測試它使用array_key_exists

相關問題