2016-04-09 8 views
-1

こんにちは、私は次のようにPHPのセッションvariable.TheのJSONオブジェクトにJSONオブジェクトを格納する方法私は、約いくつかの例必要があります:あなたは私たちを与えたものに基づいてどのようにjsonオブジェクトをjavascriptからphpセッション変数に保存することができますか?

var jsonObject={ "menu": 
         { 
          "intro":{ 
             "intosub":"sub_1" 
            } 
           "vis":{ 
             "visub":"sub_2" 
            } 


} 

よろしく

+0

さて、AJAX呼び出しを使用して、オブジェクトをクライアントからサーバーにシリアル化して送信します。サーバー側では、JSON文字列または逆シリアル化されたオブジェクトをセッションに格納します。 – arkascha

+0

あなたの答えをありがとうが、私はこの方法を試みたが、私はエラーを見つけた、あなたは私に例を与えることができますか? – riztak

+0

_exact_エラーメッセージとともにコードスニペットを投稿してください。それから私達は助けることができるはずです。この質問がなければ、_ゲームだと思います。 – arkascha

答えて

0

、あなたのJSONオブジェクトを間違っている。それは次のようになります。

var jsonObject={ 
    "menu": 
    { 
     "intro":{ 
      "intosub":"sub_1" 
     }, 
     "vis":{ 
      "visub":"sub_2" 
     } 
    } 
}; 

EDIT

var jsonObject={ "menu": { "intro":{ "intosub":"sub_1" }, "vis":{ "visub":"sub_2" } } 
var string=JSON.stringify(jsonobject); 
var phpcode="<?php $_SESSION["jsonObject"]= " phpcode+=string+"?>"; 

JavascriptがPHPは、サーバー側であるときに、クライアント側です。つまり、JavaScriptを使用してオブジェクトを作成すると、クライアント側のデータをサーバーに送信し、必要に応じてクライアントに再度送信できるAjaxを使用するまで、サーバーと対話できなくなります。

var phpcode="<?php $_SESSION["jsonObject"]= " phpcode+=string+"?>"で何をしたのですか?あなたの "phpcode" JS変数を満たすためにクライアントに送信する前に、あなたのサーバーに尋ねたということです...セッション変数を設定すると、そのようなjsonオブジェクトでPHPセッション変数を設定しようとすると、JSを使わずにPHPセッション変数を直接設定した場合と同じになります。
しかし、セッション変数をJSを使用して作成した動的データで埋めたいと思うか、あなたの質問は意味をなさない。
あなたが理解する必要があるのは、あなたがjavacriptに<?php stuff; ?>を書くとき、それがクライアントに送信されるとき、あなたがjavascriptで直接stuffを書いたようなものです。それは完了しており、変更されず、確実にサーバーと通信しません。
例:var math=<?php echo 10+1;?>;は、あなたがJSに直接var math=11;を書いたのと同じです。もちろん、PHPを使用してJSにPHPを挿入しますが、完了してクライアントに送信すると、それは石で設定され、Ajaxを使用して変更します。

jsonオブジェクトを取得してAjaxを使用してPHPに送信する必要があります。
私はあなたがので、ここでのjQueryを使用して次のようになりますアヤックスについてjQueryのドキュメント>https://api.jquery.com/jQuery.ajax/

ですされました:

$.ajax({ 
    type:'post', 
    url:'path/to/a/PHP/file', 
    data:{jsonobject:yourstringifyjsonobject} 
}); 

あなたが取得することあなたの「パスで「jsonobject」/に/ /ここでは$ _POST [ 'jsonobject']としてPHP /ファイルは、」あなたが行く:

session_start();//to not forget if you want session variables to work 
$_SESSION['whatever']=json_decode($_POST['jsonobject']) 

あなたのセッション変数は、あなたのJSONオブジェクトに設定されています。

+0

はい、私はちょうど任意のJSONオブジェクトを配置したいと思う真実です。申し訳ありません – riztak

+0

arkaschaと同様に、Ajaxを使用して正しい方法で試してみましたが、エラーが発生しましたが、あなたの盗難されたスクリプトを私たちに教えていただけない場合、あなたを助けることはできません。ヘルプが必要な場合は、エラーのあるスクリプトを教えてください。 –

+0

< - 「VAR jsonObject = { "メニュー":! { "イントロ":{ "intosub": "SUB_1" }、 "VIS":{ "visub": "sub_2" } } var string = JSON.stringify(jsonobject); するvar phpcode = ""; ' - > – riztak

関連する問題