Перейти к содержанию
Форум поддержки пользователей VamShop

Работа с сессией


Рекомендуемые сообщения

На сайте есть баннер, посетитель может его закрыть крестиком и после этого баннер не должен маячить.

Как можно из html-шаблона в текущую сессию записать и считать какой-нибудь флаг?

Ссылка на сообщение
Поделиться на другие сайты

А чем поможет кэш? Посетителю не нравится верхний информационный баннер о скидках например, он его закрыл крестиком. Далее в рамках сессии для этого посетителя баннер не показываем.

Ставлю cookies, но она в html-шаблоне потом не считывается:

{php}
if(!isset(COOKIE['alertClosed'])) {
echo '<script language="JavaScript">alert("Куки нет!");</script>';
setcookie('alertClosed',0);
}
{/php}[/CODE]

ошибку выдаёт: "Parse error: syntax error, unexpected '[', expecting T_PAAMAYIM_NEKUDOTAYIM in ..."

Да и зачем куку ставить, если наверняка можно в сессии этот флаг хранить.

Ссылка на сообщение
Поделиться на другие сайты

ммм...

ачнем с того что у Вас запрос с кэшу не верный.

давайте я ввечером как буду дома Вам покажу. пока возможности нет.

идея то в принцепе нужная не только в Вашем случае с банером а вообще.

на нем сайты строятся типа ВК )))) правдо он еще весь на js но это другое)))))

Ссылка на сообщение
Поделиться на другие сайты

Пробный вариант. Проверено. Работает. Решение возможно не оптимальное.

/templates/vamshop/index.html

{literal}
<script type="text/javascript">
function close_banner () {

jQuery.ajax({
url : "index.php",
dataType : "html",
data : {banner_id: 123},
type : "POST",
success : function() {
alert ('Post');
}
});
}
</script>
{/literal}[/CODE] Тестовая ссылка. Onclick потребуется установить на кнопку "крестик".
[CODE] <a onclick="close_banner()">close</a>
/index.php
if (isset ($_POST['banner_id'])) {
$_SESSION ['banner_id'] = $_POST['banner_id'];
}
[/code]

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...