2011-10-03 54 views
1

我想我的$ _ POST數據發送到一個類礦井進行處理的...但它似乎並沒有不管我如何發送,PHP是告訴我:

試圖獲取屬性非對象的

類方法:

public function test_me_out($postdata) { 

    if(isset($postdata->price)) { 

     return "the price was: " . $postdata->price . " …and this was added."; 

    } else { 

     return "it's apparently not set..."; 

    } 

} 
+0

在我看來,發佈數據不是一個對象,但即使我創建了一個數組,並嘗試以這種方式訪問​​它,結果也是如此。 – dcolumbus

+0

試試'test_me_out((object)$ _ POST);'。 – hakre

回答

2

$_POST不是一個對象。你應該像使用$_POST['my_data']那樣使用它來訪問它的信息。

+0

這並不意味着我應該可以像我一樣在我的課程中訪問它:'$ postdata ['price']'? – dcolumbus

+0

爲什麼這樣的作品。感謝Safari瀏覽器緩存。 – dcolumbus

+0

是的,確切地說。 '' – Manhim

0

你是怎麼打電話給test_me_out的?喜歡這個?

test_me_out($_POST) 

$ _POST是一個數組,而不是一個對象。因此,你可以訪問的變量在函數像這樣:

$postdata['price'] 
2

,您仍然可以做

$postData = new ArrayObject($_POST,ArrayObject::ARRAY_AS_PROPS); 

然後爲預計$postData->price會工作。