[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Показ рекламного баннера (один раз)
Юрий Шу
Есть сайт, на главной странице которого висит баннер. На самом деле это не совсем баннер, а картинка, заключенная в блок div, который можно скрыть по клику на ссылке «закрыть».

Сейчас эта картинка появляется на главной странице каждый раз при заходе. Это не совсем удобно. Нужно, чтобы этот блок показывался только при первой загрузке, и больше не показывся вовсе.

Если сделать это в рамках одной сессии, то можно считать сколько раз показан этот баннер уже и если его уже показали, то далее сделать для него display: none.

А как сделать, чтобы он показывался только один раз при первом заходе и больше никогда не показывался. Здесь также нужно учесть момент, чтобы если появится новый баннер, то алгоритм как-то отслеживал это изменение и показывал новый баннер. Также один раз.

По IP фильтр наверное не совсем хорошая идея.

Как это можно сделать на уровне составления алгоритма действий? Подскажите пожалуйста.



Спустя 8 минут, 31 секунда (17.06.2009 - 12:30) stepan написал(а):
Попробуй записывать в куки(что не очень идея), либо тебе придется записывать все IP адреса в какой то файл для сравнения была ли ему показана данная реклама

Спустя 34 минуты, 50 секунд (17.06.2009 - 13:05) FatCat написал(а):
Предлагаю писать в джавскриптовой объект window.name имя банера после первого показа; и условие: если (имя банера != имя окна){показывать}

Спустя 22 минуты, 22 секунды (17.06.2009 - 13:27) Юрий Шу написал(а):
Задача немного изменилась. Можно просто для одной сессии это реализовать.
Пробую вот так… В макете главной страницы вставляю код:
PHP
session_start();
if (!$_SESSION['show']) {
?>
 <h1>Привет</h1>    
<?
$_SESSION
['show']=1;
}

В макете внутренней:
PHP
session_start();
print_r($_SESSION);

Но каждый раз при новом заходе создается новая сессия. И значение переменной $_SESSION['show'] на внутренних страницах не видно. Почему?

Спустя 31 минута, 31 секунда (17.06.2009 - 13:59) glock18 написал(а):
PHP
if (!$_SESSION['show']) {


Каюсь в неуверенном знании, но здесь я не могу наверняка сказать, будет ли скрипт вести именно так как надо.

Если в случае получение неиниц. переменной, будет просто подставлен на ее место null, то, вероятно, должно работать. А если нет, сомневаюсь.

PS: isset'ом или empty пользуйтесь.

Спустя 3 минуты, 43 секунды (17.06.2009 - 14:02) Юрий Шу написал(а):
glock18, основная проблема не в этом, а в том, что сессия при переходе по ссылкам не восстанавливается, а создается новая.

Спустя 27 минут, 34 секунды (17.06.2009 - 14:30) Юрий Шу написал(а):
Разобрался самостоятельно, поставив команду session_start в начало программы.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.