|
|
|
| Здравствуйте! подскажите пожалуйста, как дописать информацию в cookie. Т.е. массив, полученный из формы, сравнивается при помощи array_diff c массивом, который лежит в cookie, и недостающая информация дописывается. | |
|
|
|
|
|
|
|
для: seregarulez
(27.07.2008 в 14:57)
| | в cookie не может лежать массив. Только строка. | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2008 в 15:00)
| | я знаю. Забыл сказать, что использую ф-ии explode и implode | |
|
|
|
|
|
|
|
для: seregarulez
(27.07.2008 в 15:10)
| | и что Вам мешает воспользоваться array_merge()? | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2008 в 15:13)
| |
<?
if(isset($_POST['Submit']))
{
$id_post[]=$_POST['id[]'];
$id_cookey[]=$_COOKIE['str'];
$differ=array_diff($id_post,$id_cookey);
$id=array_merge($differ,$id_cookey);
$str_id=implode("|",$id);
setcookie("str",$str_id,mktime(0,0,0,1,25,2020));
print "<html><head>\n";
print "<meta HTTP-EQUIV='Refresh'
CONTENT='0;URL=index.php'>\n";
print "</HEAD></HTML>";
}
?>
|
я вот так делаю. Cookie не создается. | |
|
|
|
|
|
|
|
для: seregarulez
(27.07.2008 в 18:56)
| | еще бы он создавался. Ошибка на ошибке.
вот эти две строки, к примеру, что означают?
$id_post[]=$_POST['id[]'];
$id_cookey[]=$_COOKIE['str'];
|
Попробовали бы сперва вывести содержимое массивов
echo '<pre>';
print_r($_POST);
print_r($_COOKIE);
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.07.2008 в 20:33)
| |
<?
if(isset($_POST['Submit']))
{
$id[]=$_POST['id[]'];
$str_id=implode("|",$id);
setcookie("str",$str_id,mktime(0,0,0,1,25,2020));
}
?>
|
Вот такой код работает)) Но мне надо, чтобы в куки дописывалась информация
К Вашему вопросу:
$id_post[]=$_POST['id[]']; -в массив кладем переданные данные из формы.
$id_cookey[]=$_COOKIE['str']; -извлекаем уже имеющееся содержимое куки | |
|
|
|
|
|
|
|
для: seregarulez
(27.07.2008 в 21:03)
| | >Вот такой код работает))
Хрен там. :)
Но мне надо, чтобы в куки дописывалась информация
>К Вашему вопросу:
>$id_post[]=$_POST['id[]']; -в массив кладем переданные данные из формы.
Ничего подобного. Начать с того, что элемента $_POST[ с ключом id[] у Вас просто не окажется.
Кроме того, это не "в массив кладем данные из формы".
Это, буквально: создаем еще один элемент массива, в который целиком записываем значение поля.
>$id_cookey[]=$_COOKIE['str']; -извлекаем уже имеющееся содержимое куки
Здесь та же ошибка.
Плюс к тому Вы забыли про explode | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2008 в 21:09)
| | Trianon, спасибо большое)) Нашел ошибку. Блин, надо внимательней быть...
А на счет
$id_post[]=$_POST['id[]'];
|
Я не сказал, что в форме галочки отмечаются...у которых
А про
$id_cookey[]=$_COOKIE['str'];
| - Вы совершенно правильно сказали..) | |
|
|
|