Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Передача параметров cookie.Не работает скрипт.
Покинул форум
Сообщений всего: 58
Дата рег-ции: Дек. 2011
Помог: 1 раз(а)
Всем, привет!
Прошу помощи в реализации скрипта, с помощью которого передавались бы id-ки записи в cookie. Это нужно для голосования по продуктам из БД.
Данный скрипт почему-то не передаёт с первого раза id, поэтому скрипт работает не правильно. Прошу подсказать в чём здесь может быть проблема.
Буду рада помощи.
Есть скрипт вывода данных по id из БД index.php:
скрипт работает так же не правильно, почему то так и не передаётся первый раз id.
Да, я понимаю, что cookie можно удалить, но для моего сайта этого будет достаточно)
Toxa
Отправлено: 23 Июля, 2012 - 09:35:21
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
alena_pl пишет:
скрипт работает так же не правильно, почему то так и не передаётся первый раз id.
А вы уверены что именно id не передается? Может быть кука не ставится или еще что.
Проверяйте. Смотрите, что где записывается в какую переменную, вы в состоянии самостоятельно найти ошибку.
Покинул форум
Сообщений всего: 58
Дата рег-ции: Дек. 2011
Помог: 1 раз(а)
Toxa пишет:
alena_pl пишет:
скрипт работает так же не правильно, почему то так и не передаётся первый раз id.
А вы уверены что именно id не передается? Может быть кука не ставится или еще что.
Проверяйте. Смотрите, что где записывается в какую переменную, вы в состоянии самостоятельно найти ошибку.
Вот, немного исправила скрипт, как вроде должно быть по правилам. Добавила проверки, что же передаётся:
cookie.php
По клику на первую запись с id = 1, выводится запись 'Поздравляю, Ваш голос принят!', при повторно клике на неё же 'Вы уже голосовали!'. Однако при клике второй записи $_GET['id'] = 2, а вот @$_COOKIE['test'] равен почему-то 1 и конечно же выводится запись 'Вы уже голосовали!' и то же самое с последней записью. Не могу понять в чём дело(
Toxa
Отправлено: 23 Июля, 2012 - 11:51:38
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
Ну все понятно. У вас в куках сохряняется только последний вариант голосования.
А нужно хранить все. Первое, что приходит в голову - использование массива.
обязательно прочитайте про функции json_decode и json_encode, они нужны для преобразования массива в строку. В куках мне не можем хранить массивы - только строки
Покинул форум
Сообщений всего: 58
Дата рег-ции: Дек. 2011
Помог: 1 раз(а)
Toxa пишет:
Ну все понятно. У вас в куках сохряняется только последний вариант голосования.
А нужно хранить все. Первое, что приходит в голову - использование массива.
обязательно прочитайте про функции json_decode и json_encode, они нужны для преобразования массива в строку. В куках мне не можем хранить массивы - только строки
Спасибо за подсказку, однако выводит ошибку:
Warning: in_array() expects parameter 2 to be array, null given in Z:\home\Exsemple\www\cookie\cookie.php on line 7
Warning: array_push() expects parameter 1 to be array, null given in Z:\home\Exsemple\www\cookie\cookie.php on line 14
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\Exsemple\www\cookie\cookie.php:1) in Z:\home\Exsemple\www\cookie\cookie.php on line 15
Поздравляю, Ваш голос принят!
Toxa
Отправлено: 23 Июля, 2012 - 15:49:14
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
Это потомучто изначально у вас массив не инициализинован, изправте строчку №3 из моего примера на
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\Exsemple\www\cookie\cookie.php:1) in Z:\home\Exsemple\www\cookie\cookie.php on line 15
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
это из-за того, что у вас что-то выводится в барузер до установки кук.
Проверьте еще раз внимательно. Часто пробел закрадывается в самое начало файла, перед <?php
Покинул форум
Сообщений всего: 58
Дата рег-ции: Дек. 2011
Помог: 1 раз(а)
Toxa пишет:
это из-за того, что у вас что-то выводится в барузер до установки кук.
Проверьте еще раз внимательно. Часто пробел закрадывается в самое начало файла, перед <?php
Оооо надо же и правда пробел перед <?php
Спасибо Вам огромное, что уделили время для решения моего вопроса!! пример работает!!!!!!)))))))))
Toxa
Отправлено: 23 Июля, 2012 - 16:12:15
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
Я очень рад, обращайтесь.
Да и незачем говорить "спасибо" отдельным сообщением. Есть такая кнопочка
Покинул форум
Сообщений всего: 58
Дата рег-ции: Дек. 2011
Помог: 1 раз(а)
Toxa пишет:
Я очень рад, обращайтесь.
Да и незачем говорить "спасибо" отдельным сообщением. Есть такая кнопочка
Да пытаюсь я всё жать на эту кнопочку, сообщение говорит мне недостаточно оставленных на форуме сообщений для этой операции ))) Я бы с удовольствием)))
О а теперь сработало, ура, видимо наконец-то набрала нужное количество сообщений!!!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.