2011-08-17 156 views
0

我需要將PHP從html表單接收的JSON對象轉換爲php變量。我有兩種形式form1給出值和form2提交它們。這是我給窗口2 JSON字符串值JSON對象爲php變量

-html--javascript function- 

var myObj = { 
    "username" : theUsername, 
    "name" : theName, 
    "surname" : theSurName, 
    "email" : theEmail, 
    "password" : thePass, 
    "confirmpass" : thePass2, 
    "dob" : theDate, 
    "gender" : theGender, 
    "age" : theAge 
}; 

var jsonstr=JSON.stringify(myObj); 
document.forms["form2"]["hide"].value = jsonstr; //form2 gets the whole string 

-php- // $ jstr = $ _REQUEST [ 「隱藏」];

//$newObj=JSON.parse(jstr);

// $ name = $ newObj.name;

這是我試過,但它不工作

我使用的HTML POST方法。 我現在如何將其轉換回php中的單獨變量?

+0

單獨變量?你的意思是:$ username,$ name,$ surname ...? –

+0

這可能只是一個措辭問題,但JSON永遠不會是一個對象:JSON是一個*字符串*。這就是爲什麼有'stringify()'方法。 –

回答

4

看一看json_decode

一個json_decode的結果是一個關聯數組與存在於您的javascript對象的鍵和值。

如果您在發佈到PHP腳本後不知道如何獲取信息,請查看超全局的$_POST。但是如果你不熟悉,我建議買一個PHP書籍或閱讀如果你想槽一些教程:)

0

從德JSON字符串指數將其發送到PHP頁面

var myObj = { 
    "username" : theUsername, 
    "name" : theName, 
    "surname" : theSurName, 
    "email" : theEmail, 
    "password" : thePass, 
    "confirmpass" : thePass2, 
    "dob" : theDate, 
    "gender" : theGender, 
    "age" : theAge 
} 

然後在PHP頁面:

extract($_POST); 

那麼你應該會看到你的變量$名稱,$姓,$電子郵件...

來源http://php.net/extract