我使用$_COOKIE[array]
来保存单个输入的数据。此输入仅在用户输入两次相同值时才会提交。例如,如果他们提交苹果,然后是橙色,然后是香蕉,然后是苹果,表格将在第二次出现“苹果”时提交。
我读了[本教程]( http://phpprogramming.wordpress.com/2007/03/06/php-cookies-tutorial-and-examples/)。
for ($i = 1; $i < 10; $i++) {
if (!isset($_COOKIE[$i])) {
setcookie("query" . [$i],$query,time()+604800,"/");
break1;
}
}
foreach ($_COOKIE["query"] as $key => $value) {
echo "$key:$value";
}
我相信这可能是一个语法错误,因为我得到了:
Warning: Invalid argument supplied for foreach()
如果你知道更好的方式(不能是mySQL),请告诉我!
答案 0 :(得分:2)
$_COOKIE["query"]
不是一个数组,这是产生错误的原因。
答案 1 :(得分:1)
$ _ COOKIE ['query']无法存储数组。这也是当您尝试在foreach中使用它时出现错误的原因。您可以在保存之前序列化阵列。像这样的东西
$array = array();
for ($i = 1; $i < 10; $i++) {
$array[] = $i;
}
setcookie("query",urlencode(serialize($array)),time()+604800,"/");
$query = unserialize(urldecode($_COOKIE['query']));
foreach ($query as $key => $value) {
echo "$key:$value";
}
还可以查看这篇文章update cookie value in php,了解为何使用urlencode / urldecode