Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > использование Cookie


Автор: IZ@TOP 13.3.2003, 23:11
У меня парочка вопросов по функции cookie() появились:
1)Можно ли записать в качестве информации хронящейся в cookie массив данных?
2)или записать несколько значений? hmmm.gif

Автор: Devorior 13.3.2003, 23:16
конечно можно...юзать setcookie()

здесь подробно:
http://www.php.net/manual/ru/function.setcookie.php

Автор: IZ@TOP 13.3.2003, 23:54
Цитата
здесь подробно:
http://www.php.net/manual/ru/function.setcookie.php

Ага ... а на русском?

Автор: IZ@TOP 14.3.2003, 00:01
А можно сделать так:
Код

<?php

... // что нибудь вроде подключения к базе данных

if(isset($HTTP_COOKIE_VARS['$cookie_name'])){
 
  ... //какието действия
}else{ //если действие не выполняется то:

  $cookie_val = array();
  $i = 0;
  while($i<count($bd_data_array))
  {
       //здесь в цикле присваевается массив $db_data_array массиву $cookie_val //ну там с
       какиминебудь проверками
       $i++;
  }
   setcookie($cookie_bd_name,$cookie_val,...);

}

Автор: Devorior 14.3.2003, 09:31
я думаю что тебе без куки можно обойтись...если тебе надо перегонять массивы из одного скрипта в другой можно использовать сессию

Автор: Devorior 14.3.2003, 10:11
что-то в тупик зашел...

$a = array("name"=>"Sergey", "nick"=>"SerG");
setcookie("name", serialize($a));
$name = $_COOKIE['name'];
print_r(unserialize($name));

unserialize ничего не дает sad.gif

Автор: IZ@TOP 14.3.2003, 17:54
Цитата
я думаю что тебе без куки можно обойтись...если тебе надо перегонять массивы из одного скрипта в другой можно использовать сессию


А это разве сессия -
Цитата
что-то в тупик зашел...

$a = array("name"=>"Sergey", "nick"=>"SerG");
setcookie("name", serialize($a));
$name = $_COOKIE['name'];
print_r(unserialize($name));

unserialize ничего не дает 

:confused.gif

Автор: IZ@TOP 14.3.2003, 17:55
и что это за функция - print_r - я такую впервые вижу ... !

Автор: Devorior 14.3.2003, 19:32
print_r выводит массив...
то была не сессия, а попытка вытащить массив из куки smile.gif

тебе написать как через сессию массив перегнать?

Автор: IZ@TOP 14.3.2003, 20:30
Devorior ты мне лучше скажи что есть сессия, и как через нее переменные передаются.
Через кеш браузера или тама тож что то вроде куков задействовано?
Вот допустим я регестрирую какуюто переменную функцией session_register($data);
то как потом узнать ее значение на другой странице confused.gif? и обязательно всегда начинать сессии с session_start(а что тут, переменная какаята, или там пассворд) confused.gif

Автор: Devorior 14.3.2003, 20:55
сессия работает на сервере, создается файл сессии и с ним идет работа, клиенту опционально передается куки с SID'ом

значение брать вот так: $_SESSION['data']

session_start() говорит о том, что скрипт будет использовать переменные сессии...писать надо в начале любого скрипта, работающего с сессией

здесь очень подробно http://www.php.spb.ru/php/session.html

Автор: IZ@TOP 14.3.2003, 21:51
Cпасибо !!! Все сразу стало ясно как божий день ...!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)