我想知道是否有可能在php中创建一个cookie(使用jquery.cookie):
$_COOKIE['124']['ctns'] => 12
$_COOKIE['124']['units'] => 2
OR
$_COOKIE['124'] => array( 'ctns' => 12, 'units' => 2 )
目前我已经创建了一个看似如下的cookie:
$_COOKIE['124-ctns'] => 12
$_COOKIE['124-units'] => 2
但我意识到这不适用于我需要的东西。
我正在使用的代码(jquery)是:
$.cookie('124-ctns', 12, { path: '/' });
$.cookie('124-units', 2, { path: '/' });
任何帮助将不胜感激:)
答案 0 :(得分:1)
在PHP中创建多维cookie:
setcookie("124[ctns]",12,time()+3600);
setcookie("124[units]",2,time()+3600);
最后一个参数是到期时间。
在PHP中访问多维Cookie:
$ctns = $_COOKIE['124']['ctns']; // $ctns will equal 12
$units = $_COOKIE['124']['units']; // $units will equal 2
快速,print_r($_COOKIE)
将输出:
Array
(
[124] => Array
(
[ctns] => 12
[units] => 2
)
)
简而言之,是的,你可以。以下是PHP手册中的一个具体示例。
答案 1 :(得分:1)
你做不到。 Cookies只存储字符串,而不是对象。 您可以将对象转换为JSON,因此代码看起来像
$_COOKIE['124'] => json_encode(array( 'ctns' => 12, 'units' => 2 ));
n124 = JSON.parse($.cookie('124'));
然后变量n124应该是对象,所以你可以得到像这样的变量 n124.ctns n124.units
答案 2 :(得分:0)
我就是这样做的:
<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>
使用print_r(cb)时的输出:
[cb] => Array
(
[1] => 1
[2] => 2
)
但现在我的问题是如何访问存储的cookie @。@