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 :: Отдельная кука для для отдельного модального окна
Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2012
Помог: 0 раз(а)
Здравствуйте!
у меня на cms koobie есть функционал показа всплывающих модальных окон, запускаются из админки активацией, проблема в том что если активировать 2 и более модального окна то всегда будет отображаться только одно модальное окно, потому вот этим кодом создается одна общая кука reveal_modal
$dynamicmw=$db->Query("SELECT * FROM pure_modal_windows WHERE location LIKE '%".mysql_real_escape_string($location)."%' AND active=1 LIMIT 1")->fetchrow();
Если куку удаляю то модальное окно всплывает, закрываю его второе, третье уже не отображается, помоему здесь нужно сделать как-то привязку на каждое модальное окно отдельную куку а не одну на всех, получается что активировал 4 модалки показываться будет последнее по сортировке
KingStar
Отправлено: 28 Декабря, 2013 - 09:42:34
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
все верно думаешь, каждому окну присваивай свой уникальный id и ему присваивай активацию
----- То что программа работает, не означает что она написана правильно!
ilyasret
Отправлено: 28 Декабря, 2013 - 10:18:21
Гость
Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2012
Помог: 0 раз(а)
KingStar
не подскажете в моем коде что изменить?
KingStar
Отправлено: 28 Декабря, 2013 - 10:31:36
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
$dynamicmw=$db->Query("SELECT COUNT(*) FROM `pure_modal_windows` WHERE `uniqid`= '".mysql_real_escape_string($_COOKIE['reveal_modal'])."' AND `active`=1 LIMIT 1")->fetchrow();
(Добавление) KingStar
То что вы выложили я позаменял где нужно, перестала кука создаваться, дальше то что вы написали проверку можете помочь написать ?
DeertOff
Отправлено: 28 Декабря, 2013 - 13:23:34
Гость
Покинул форум
Сообщений всего: 126
Дата рег-ции: Июль 2011
Помог: 3 раз(а)
Куки одинаковые перезаписываются.
uniqid() нужен что бы сгенерировать разные куки.
ilyasret
Отправлено: 28 Декабря, 2013 - 13:37:20
Гость
Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2012
Помог: 0 раз(а)
Активировал 3 модальных окна из них один раз в заданный промежуток времени жизни куки покажется последнее окно, например через час я активировал 4-е модальное окно и получается что новая кука не создастся потому что она уже существует и соответственно активированное модальное окно не отобразится, нужно чтобы кука с уникальным именем создавалась для каждого нового активированного через админку модального окна
$dynamicmw=$db->Query("SELECT * FROM pure_modal_windows WHERE location LIKE '%".mysql_real_escape_string($location)."%' AND active=1 LIMIT 1")->fetchrow();
Тут в коде даже проверяется кука с одним именем, всегда проверяет одну и ту же куку
Можно как-то сделать чтобы одно модальное окно привязывалось к уникальной куке?
KingStar
Отправлено: 28 Декабря, 2013 - 13:39:30
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
я лиш показал пример, помимо отправки куки, её же и нужно добавить в таблицу, чтобы потом её найти и проверить, активирована она или нет, писать за тебя никто не станет, учи язык
----- То что программа работает, не означает что она написана правильно!
ilyasret
Отправлено: 28 Декабря, 2013 - 13:49:19
Гость
Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2012
Помог: 0 раз(а)
может все таки напишете ? поможете мне?
ilyasret
Отправлено: 29 Декабря, 2013 - 11:52:51
Гость
Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2012
Помог: 0 раз(а)
метод is_loaded() как в нем разделить проверку кук if(!$_COOKIE['reveal_modal']),
не совсем представляю вот я активировал еще одно модальное окно, как ей создастся кука если она уже существует?
Если я напишу так if(!$_COOKIE['reveal_modal']) if(!$_COOKIE['reveal_modal2']) то одновременно создадутся две куки reveal_modal reveal_modal2 и обе будут работать только с одним модальным окном
KingStar
Отправлено: 29 Декабря, 2013 - 12:05:51
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
писал выше
KingStar пишет:
для нескольких окон можно в куку занести массив в формате json либо с каким-либо разделителем и explode / implode
----- То что программа работает, не означает что она написана правильно!
ilyasret
Отправлено: 29 Декабря, 2013 - 13:36:00
Гость
Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2012
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.