2013-10-31 26 views
0
只有一個參數值

我鏈接到我的網頁是這樣如何獲得發送爲JSON

http://mysite.php?json={"some_key":"some_val"}

$json=$_GET ['json']; 
$obj = json_decode($json); 
#this line print the whole input 
echo $json."</br>"; 

#but this does not print anythig 
echo $obj->{'some_key'}."</br>"; 

我新的PHP和我在閱讀輸入卡住... :(

**編輯

我的觀點是採取some_val到變量,所以我可以根據價值作出決定......

對我來說,將它放入網址是最簡單的方法,但是如果我必須實現POST方法。

我需要應該是這樣的

$variable=(read the value for the key "some_key")

+7

你爲什麼要在url中發送json? – Legionar

+0

您應該發送$ _POST –

+0

JSON我需要一些輸入到我的PHP之前,它的星星他的工作..., – Lukap

回答

0

彙總

INPUT

http://urlblabla/test.php?json={"some_key":"some_val"} 

代碼一些補丁後:

從URL格式正常解碼,並刪除HTML實體

CODE:

<?php 

if(IsSet($_GET['json'])) 
{ 
    $json = html_entity_decode(urldecode($_GET['json'])); 
    $obj = json_decode($json); 
    #this line print the whole input 
    echo $json."</br>"; 

    #but this does not print anythig 
    echo "Value of some_key : '{$obj->some_key}'</br>"; 

    #into variable (assign some_key value to variable $var) 
    $var = $obj->some_key; 

    echo "Value of var : '{$var}' <br />"; 

} 
?> 
+0

結果爲空 – Lukap

+0

我在000webhost.com上工作,所以也許問題是他們不支持這種類型的json傳遞... – Lukap

+0

解釋雙解碼背後的推理? – Makita

0

我認爲你正在尋找基本網址查詢參數的代碼:

http://mysite.com/index.php?somekey=someval 

在PHP中:

if (isset($_GET['somekey']) && $_GET['somekey'] == 'someval') { 
    $variable = $_GET['somekey']; // example of assigning GET param to variable 
    echo "do something!"; 
} 

如果你是意圖傳遞json作爲url參數:

$json = json_decode($_GET['json']); 
echo $json->some_key; 
+0

這是不是我所尋找的,我有問題與JSON部分不能讀取簡單的參數... – Lukap

+0

請參閱更新的JSON編輯... – Makita