Автор Тема: проблема с куки и созданием массива  (Прочитано 3115 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
проблема с куки и созданием массива
« : 17 Сентября 2003, 19:39:46 »
Добрый день



у меня проблема с куки и созданием масива


есть


if ($action == "addproduct")
	
{
	
setcookie ("basket[]"$producttime()+7200); //установить куки
	

	
header ("Location: $url"); //вернуться на страницу где были
	
}


которая принимая значение устанавливает куки basket... для того чтоб  образовался масив при последующих получениях значений я почитал и стал использовать basket[] ... но на удивление масив нерастет и все время равен 1 позиции.

в чем дело? ведь я в справочнике читал что можно не устанавливать индекс basket[0---n] а просто писать basket[]


как быть?

спасибо большое за помощь
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
проблема с куки и созданием массива
« Ответ #1 : 17 Сентября 2003, 20:41:13 »
покажи, деж ты читал.

с какойстати браузер будет запоминать разные куки с одним именем?

вот послал ты куку name=vasya
а потом
name=petya

по-твоему, браузер сохранит обе?

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
проблема с куки и созданием массива
« Ответ #2 : 18 Сентября 2003, 11:55:09 »
Цитировать
RomikChef:
покажи, деж ты читал.


Привет!

У меня две есть книги по пхп, ну есть еще одна но я ей непользуюсь,... одна В. Гилмор, и справочник хороший купил И. Григин, так вот там я читал в обоих и сравнивал что через куки свободно можно передавать масивы



setcookie 
("basket[0]"1time()+7200);
setcookie ("basket[1]"2time()+7200); 
setcookie ("basket[2]"3time()+7200); 
setcookie ("basket[3]"4time()+7200); 

$basket[0] == 1
$basket
[1] == 2
$basket
[2] == 3
$basket
[3] == 4




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



$basket
[] = 1
$basket
[] = 2
$basket
[] = 3
$basket
[] = 4

будет

$basket
[0] == 1
$basket
[1] == 2
$basket
[2] == 3
$basket
[3] == 4



но всеже неработает, вот почему я всеже решился спросить опять а то уже стыдно.... :)


вообще как мне быть тогда? если мне нужно нарастить массив?


Спасибо большое за помощь
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
проблема с куки и созданием массива
« Ответ #3 : 18 Сентября 2003, 12:34:06 »
Может так
$backets=unserialize($backet);
$n=count($baskets)+count($new_element_array);
 array_pad ($baskets, $n, $new_element_array);
$b=serialize($backets);
setcookie ("basket", $b, time()+7200)

или так
$backets=unserialize($backet);
array_push($backets, $new_element_array);
$b=serialize($backets);
setcookie ("basket", $b, time()+7200)

// $new_element_array - твои новые эл-ты
« Последнее редактирование: 18 Сентября 2003, 15:34:55 от MrGreeN »

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
проблема с куки и созданием массива
« Ответ #4 : 18 Сентября 2003, 13:18:20 »
если в массиве basket будут только числа то вполне можно обойтись
setcookie("basket", implode(" ", $baskets), .....);
и
$baskets = explode(" ", $_COOKIE[\'basket\']);

ЗЫ
имхо через сессии корзину делать гораздо удобнее и правильнее
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
проблема с куки и созданием массива
« Ответ #5 : 18 Сентября 2003, 13:44:16 »
Цитировать
Макс:
имхо через сессии корзину делать гораздо удобнее и правильнее



я как то еще никогда непользовался сессиями, но видно сегодня все что есть прочту за них
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
проблема с куки и созданием массива
« Ответ #6 : 18 Сентября 2003, 17:42:00 »
гилмор есть в сети.
Дай ссылку на то место, где ты прочитал у него, чтоо можно ставить без цифр.
Как я уже писал - как я понимаю, это невозможно по определению.
кук с ОДИНАКОВЫМ именем быть не может.

по сессиям читай тут
http://faq.phpclub.net/sess

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28