2011-06-24 2 views
0

Je me demandais s'il était possible de créer un cookie (en utilisant jquery.cookie) qui ressemble à ceci en php:jquery aide cookie nécessaire (besoin d'aide à former un cookie)

$_COOKIE['124']['ctns'] => 12 
$_COOKIE['124']['units'] => 2 

OU

$_COOKIE['124'] => array('ctns' => 12, 'units' => 2) 

Actuellement, j'ai créé le cookie qui ressemble à:

$_COOKIE['124-ctns'] => 12 
$_COOKIE['124-units'] => 2 

Mais je me rends compte que ça ne va pas travailler pour ce J'ai besoin.

Le code J'utilise (jquery) est:

$.cookie('124-ctns', 12, { path: '/' }); 
$.cookie('124-units', 2, { path: '/' }); 

Toute aide serait appréciée :)

+0

pouvez-vous expliquer ce que vous essayez de faire? – Prashanth

+0

J'essaie de créer un tableau multidimensionnel en utilisant jquery cookie – SoulieBaby

Répondre

1

Vous ne pouvez pas. Les cookies stockent uniquement les chaînes, pas les objets. Vous pouvez convertir les objets JSON afin que le code ressemble à

$_COOKIE['124'] => json_encode(array('ctns' => 12, 'units' => 2)); 

n124 = JSON.parse($.cookie('124')); 

Ensuite, la N124 variable doit être l'objet de sorte que vous pouvez obtenir les variables comme n124.ctns n124.units

1

Pour créer des cookies multidimensionnels en PHP:

setcookie("124[ctns]",12,time()+3600); 
setcookie("124[units]",2,time()+3600); 

Le le dernier paramètre est l'heure d'expiration.

Pour accéder aux cookies multidimensionnels en PHP:

$ctns = $_COOKIE['124']['ctns']; // $ctns will equal 12 
$units = $_COOKIE['124']['units']; // $units will equal 2 

rapide, print_r($_COOKIE) Affichera:

Array 
(
    [124] => Array 
     (
      [ctns] => 12 
      [units] => 2 
     ) 

) 

En bref, oui, vous le pouvez. Ce qui suit montre un exemple spécifique du manuel PHP.

Example #3 setcookie() and arrays

+0

J'essaie de créer un cookie dans jquery, mais comme un tableau multidimensionnel je suppose :) – SoulieBaby

+0

Je l'ai mis à jour en tant que tel. Il y a plus de documentation sur les cookies multi-dimensionnels dans le lien que j'ai fourni. – Josh

+0

Merci, mais j'essaie d'obtenir le script cookie jquery pour créer le tableau de dimensions multiples, pas php :) – SoulieBaby

0

C'est comment je le fais:

<input name="cb[1]" type="checkbox" value = "1"> 
<input name="cb[2]" type="checkbox" value = "2"> 

<javascript> 
$(":checkbox").click(function(){ 
    name = $(this).attr('name'); 
    val = $(this).val(); 
    $.cookie(name, val); 
}); 
</javascript> 

sortie lors de l'utilisation print_r (cb):

[cb] => Array 
     (
      [1] => 1 
      [2] => 2 
     ) 

Mais maintenant mon problème est de savoir comment accéder aux cookies stockés @. @