2014-01-10 32 views
1

我試圖修復WordPress的網站上的未定義的索引PHP通知。修復PHP的通知:'未定義索引'在Wordpress

目前,這是我的了:

<?php if($_SESSION['currency-select'] == "a") echo 'selected="selected"';?> 

我試着寫這種方式,但隨後該網站宕機:

<?php if(isset($_SESSION['currency-select'] == "a")) echo 'selected="selected"';?> 

另外,我有一個查詢,這也是不isset,我試圖修復它:

    if($_SESSION['currency-select'] == 'b') { 

       if($_GET['pricing'] == '1') { 

        $args['meta_query'][] = array(

         'key' => 'price', 

         'value' => array('0', '250'), 

         'compare' => 'BETWEEN', 

         'type' => 'numeric' 

        ); 

       } 

我試着寫:

 if(isset($_GET['pricing'] == '1')) { 
     if($_GET['pricing']) { 

但它不起作用。

感謝您的支持!

+1

if(isset($ _GET ['pricing'] =='1'))?那是什麼?我認爲你需要使用,並打算使用if(isset($ _ GET ['pricing']){// use it。} – Rottingham

+0

Quick&Dirty「hideaway」(not a fix!):降低error_reporting級別。隱藏這種類型的消息,但只建議冷靜客戶端。這不是專業開發。 – Sliq

+0

似乎正確編寫isset函數會更快,而不是太髒 – DNACode

回答

3

試着看看變量是否設置,然後檢查它的內容。

if(isset($_GET['pricing']) && $_GET['pricing'] == '1'){ 
    //- do some magic 
} 

用你的if-子句你檢查子句本身isset()而不是變量。

ps:爲什麼你檢查數字1作爲字符串1?

+0

php> $ a = 1; php> var_dump($ a =='1'); bool(true) 因爲php! – jdp

+0

使用==將等於'1'和1相同我認爲OP在考慮如果ISSET RETURN VALUE = 1那麼使用IT – Rottingham

2

只需轉換錯誤的isset()檢查。

if (isset($_GET['pricing'])) { 
    $pricing = $_GET['pricing']; 
} 

如果您想指定一個默認值,那麼短手版本將如下所示。

$pricing = (isset($_GET['pricing'])) ? $_GET['pricing'] : 0; 
1

這應該工作,如果currency_select設置。

<?php if(isset($_SESSION['currency_select'])) echo "selected='selected'";?> 
+0

但是我該如何檢查它是否只設置爲特定值? '['currency_select'] =='東西'? – tlt2w

+0

<?php if(isset($ _ SESSION ['currency_select'])&& $ _SESSION ['currency_select'] =='something')echo「selected ='selected'」;?> – makallio85

+0

謝謝你是正確的方法它。我看到@strub首先做了這種if語句,所以我標記了他的答案。謝謝! – tlt2w