|
|
|
| Вот запись в куки-массив:
setcookie("kuki[first]",$first);
setcookie("kuki[second]",$second);
| Вопрос: как потом при чтении того куки получить массив назад, типа:
$first=kuki[first];
$second=kuki[second];Кто знает, подскажите, пожалуйста! | |
|
|
|
|
|
|
|
для: Владимир22
(18.12.2008 в 14:59)
| | Вот тут всё подробно написано. | |
|
|
|
|
|
|
|
для: Николай2357
(18.12.2008 в 15:21)
| | Там (как и везде) написано такое:
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />\n";
}}
| Но как это применить к моему случаю, никто и ни в каких учебниках не пишет (все книги дают примерно такой же сухой и непонятный пример). Кроме того все примеры показывают как выводить куки с помощью echo в цикле. А зачем мне цикл, если заранее известно, что в массиве всего 2 значения. И надо просто - в переменные и без цикла!!!!!
Т.е., как сделать, чтобы:
$name_1= куки[1]
$name_2= куки[2]
Всё. Неужели никто не знает? | |
|
|
|
|
|
|
|
для: Владимир22
(18.12.2008 в 16:36)
| | print_r($_COOKIE) делать не пробовали? | |
|
|
|
|
|
|
|
|
для: Владимир22
(18.12.2008 в 16:36)
| | Ну я же написал, что там подробно всё написано. Вы не сможете в куку затолкать массив, как бы не старались. Можно только разбить его на несколько кук, по количеству элементов. Это и есть кук-массив, как Вы написали. То есть это двухмерный массив, и обратиться к нему без разбора первого ($_COOKIE) в цикле, не выйдет. Попробуйте так:
<?
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
$arr[$name] = $value ;
}
}
$name = $arr[three];
echo $name;
|
| |
|
|
|
|
|
|
|
для: Николай2357
(18.12.2008 в 20:35)
| | а не проще создать 2 кука?
setcookie('name1','value1');
setcookie('name2','value2');
|
а потом прочитать?
$name1=$_COOKIE['name1'];
$name2=$_COOKIE['name2'];
|
| |
|
|
|
|
|
|
|
для: Владимир22
(18.12.2008 в 14:59)
| | чем не вариант
<?php
$array = array('first' => $first, 'second' => $second);
setcookie('data', serialize($array));
...
$array = unserialize($_COOKIE['data']);
?>
|
только:
1. не хранить большие массивы
2. проверять данные, полученные в $array | |
|
|
|
|
|
|
|
для: WapMorgan
(19.10.2010 в 16:12)
| | Сериализация, это много лишних данных, лучше в JSON формате тогда держать или строка с разделителем. | |
|
|
|