Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как запомнить состояние корзины
 
 автор: name   (27.08.2006 в 14:42)   письмо автору
 
 

Подскажите, как запомнить состояние корзины.
Корзина реализована след. способом: массив, в котором индекс - id товара, а значение - кол-во товара (т. е. "классическим" способом).
Мне требуется запомнить состояние корзины на неопред. время. Например: если оборвалось соединение и пользователь зашел повторно (подключился снова) в корзину, там хранились товары добавленные до обрыва связи.

   
 
 автор: Oligarx   (27.08.2006 в 16:11)   письмо автору
 
   для: name   (27.08.2006 в 14:42)
 

в базу записывайте ... самое надёжное

   
 
 автор: name   (27.08.2006 в 17:05)   письмо автору
 
   для: Oligarx   (27.08.2006 в 16:11)
 

А если у меня в корзину можно добавлять и не зарегистрированному пользователю, как тогда я узнаю - чья это корзина?

   
 
 автор: Football   (27.08.2006 в 17:09)   письмо автору
 
   для: name   (27.08.2006 в 17:05)
 

Тогда cookie

   
 
 автор: name   (27.08.2006 в 17:13)   письмо автору
 
   для: Football   (27.08.2006 в 17:09)
 

Вот я и спрашиваю, как?
Присвоить кукисной переменной массив со значениями id -> count, а потом проверять, если она существует, то foreach-ом выводить?

   
 
 автор: name   (28.08.2006 в 11:10)   письмо автору
 
   для: name   (27.08.2006 в 17:13)
 

Подскажите, как кукисной переменной присвоить массив $_SESSION['cart']

   
 
 автор: cheops   (28.08.2006 в 12:47)   письмо автору
 
   для: name   (28.08.2006 в 11:10)
 

Это осуществляется при помощи функции setcookie
<?php
  
// Устанавливаем cookie на неделю
  
setcookie("cart"$_SESSION['cart'], time() + 3600*24*7);
?>

Затем к cookie можно обращаться как к элементу массива $_COOKIE['cart'].

   
 
 автор: Trianon   (28.08.2006 в 13:11)   письмо автору
 
   для: cheops   (28.08.2006 в 12:47)
 

тут вероятно потребуется сериализация сложной структуры в строку:
<?php
// Устанавливаем cookie на неделю
setcookie("cart", serialize($_SESSION['cart']), time() + 3600*24*7);
?>
и обращаться придется к $cart = unserialize($_COOKIE['cart'])

   
 
 автор: cheops   (28.08.2006 в 13:17)   письмо автору
 
   для: Trianon   (28.08.2006 в 13:11)
 

Да, если $_SESSION['cart'] - массив - его удобнее сериализовать.

   
 
 автор: name   (28.08.2006 в 22:50)   письмо автору
 
   для: cheops   (28.08.2006 в 13:17)
 

А что значит - сериализовать?
Я пробовал ставить кукисную переменную без сериализации - у меня ничего не получалось.

   
 
 автор: cheops   (29.08.2006 в 00:34)   письмо автору
 
   для: name   (28.08.2006 в 22:50)
 

В php это означает упаковать массив или объект в строку, которую можно обратно превратить в массив или объект.

   
 
 автор: name   (29.08.2006 в 16:20)   письмо автору
 
   для: cheops   (29.08.2006 в 00:34)
 

Спасибо. Буду пробовать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования