2016-04-09 12 views
0

Wie kann ich ein JSON-Objekt in einer PHP-Session-Variable speichern?JSON-Objekt in PHP-Sitzung speichern?

Hier sind ein Beispiel über das, was ich versuche zu tun:

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

var string=JSON.stringify(jsonobject); 
var phpcode="<?php 

$_SESSION["jsonObject"]= 
" 
phpcode+=string+"?>"; 
+0

Ich bin nicht sicher, dass Sie verstehen haben, wie PHP funktioniert .. – Federkun

+0

Sie können nicht Javascript und PHP so mischen und anzupassen, wenn Sie ein Objekt sind die Erstellung in javascript Sie in Sitzung speichern möchten Sie müssen es an PHP weitergeben. Nachschlagen Ajax – JimL

+0

können Sie mir bitte ein Beispiel geben! – riztak

Antwort

0

Zunächst einmal - die $ _SESSION Variablen auf der Client-Seite nicht zugegriffen werden kann (mit JS).

Sie müssen Ihre Daten an den Server senden und einige serverseitigen Code verwenden, um die gesendeten Daten in $ _SESSION zu speichern.

Ajax ist eine Möglichkeit, Daten an den Server zu senden.

Hierbei wird die Kurzschreibmethode jQuery Post verwendet.

// Client side code in Javascript 

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

$.post("control.php", jsonObject, function (returnedData) { 
    console.log(returnedData); 
}); 


// Server Side PHP code in "control.php" 
<?php 

if (isset($_POST['menu'])) { 
    $_SESSION['obj'] = $_POST['menu']; 
    // these echo commands will output to the 'returnedData' variable 
    // that can be used in JS 
    echo $_SESSION['obj']['intro']['intosub']; 
    echo "\n"; 
    echo $_SESSION['obj']['vis']['visub']; 


} 
// the output in the browser console would be 
// sub_1 
// sub_2