|
|
|
| Здравствуйте.
Как записать в куки массив, и потом прочитать её
function setCookie (name, value, expires, path, domain, secure) {
document.cookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
alert("Товар добавлен а корзину");
}
|
в таблице несколько товаров (позиций), формируются вот так
<td background='images/fon_light.png'><input type='text' name='price[]' size='3' maxlength='3'></td>
<td background='images/fon_light.png'>
<input src='images/korzina.png' alt='добавить в корзину' title='добавить в корзину' type='image'
onclick='setCookie(\"id[]\", \"$id_temp\"); '>
</td>
|
пытаюсь вывести все добавленные позиции, а возвращается id только последней
<?
$id = $_COOKIE["id"];
if ($id)
{
foreach($id as $val)
{
print "$val <br>";
}
}
?>
|
как записать (прочитать) куки в id[]
получается неправильная функция на JavaScript? | |
|
|
|
|
|
|
|
для: Den*s
(28.11.2009 в 02:02)
| | значение cookie может хранить лишь строку.
Функцию на JS нужно переделать так, чтобы она добавляла очередной элемент, а не заменяла его.
На серверной стороне - разделять строку на ряд значений.
Но вообще-то в корзине помимо ключа имеется еще и количество заказанного товара. | |
|
|
|
|
|
|
|
для: Trianon
(28.11.2009 в 02:08)
| | Подскажите, а с точки зрения "правильности" (производительности) написания скрипта добавления товара в корзину, лучше использовать куки, или таблицу в базе?
Например при высокой посещаемости сайта ... | |
|
|
|
|
|
|
|
для: Den*s
(28.11.2009 в 02:15)
| | С точки зрения "правильности" - база, с точки зрения оперативности - сесссия.
В cookies массив записывают предварительно преобразовав его в строку.
У кого будет отключен механизм cookies у того корзина не будет доступной.
Достаточно по тем или иным причинам очистить cookies, и корзина потеряна. | |
|
|
|
|
|
|
|
для: Den*s
(28.11.2009 в 02:02)
| | Здравствуйте, у меня такая же задача на данный момент. Я ее решу гораздо проще. Буду использовать одну строку для куки, но с разделителями между айди. При добавление в куки проверять есть ли там уже данные, а если есть до извлекаю их оттуда добавляю разделитель и новый айди. Можно сделать еще проверку на кол-во товара, тоже все прост. Проверяем в строке куки айди если он найден, счетаем сколько раз он найден, и открываем в этой же строке спец скобки туда вносим айди и кол-во товара. Конечно удалив старые спец скобки или айди если товар был один. Ну а вывод еще проще. Думаю описывать не надо.. | |
|
|
|