这是我的代码:
<?php
$friendid = 10;
$friendname = "enco";
$max=count($_COOKIE['rooms']);
$i = $max + 1;
setcookie("rooms[$i]['type']", "1on1", time() + 3600, "/", ".mywebsite.com");
setcookie("rooms[$i]['name']", $friendname, time() + 3600, "/", ".mywebsite.com");
?>
下面的代码在另一个页面中:
<?php
$max=count($_COOKIE['rooms']);
$k = 0;
for($k = 0; $k<$max; $k++) {
echo "Cookie 1 show: " . $_COOKIE['rooms'][$k]['type'] . "<br /><br />";
echo "Cookie 2 show: " . $_COOKIE['rooms'][$k]['name'] . "<br /><br />";
}
?>
但它不起作用。当我尝试像上面示例中那样回显 cookie 时,什么也没出现。
我的问题是:这些结构是否正确:
setcookie("rooms[$i]['type']", "1on1", time() + 3600, "/", ".mywebsite.com");
setcookie("rooms[$i]['name']", $friendname, time() + 3600, "/", ".mywebsite.com");
为了在另一个页面(而不是在编写 cookie 的同一页面中)显示这些内容:
echo "Cookie 1 show: " . $_COOKIE['rooms'][$i]['type'] . "<br /><br />";
echo "Cookie 2 show: " . $_COOKIE['rooms'][$i]['name'] . "<br /><br />";
谢谢
PHP
的超全局变量_GET、_POST、_REQUEST_COOKIE都是在脚本启动时创建的,然后在脚本执行期间永远不会被 PHP 修改。
因此,您使用 setcookie()
创建的 cookie 在下次运行此代码之前将无法在_COOKIE中使用。