Автор Тема: Банероменялка  (Прочитано 4736 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Банероменялка
« : 26 Июня 2003, 00:50:07 »
Допустим на страничке есть два банера в IFRAME-е, адреса обоих выдаются скриптом. Для каждого посетителя банеры выбираются случайным образом из БД и в куки ему пишутся какие банеры он уже посмотрел. Какова  вероятность того, что на одной странице ему покажется два одинаковых банера если не брать во внимание, то что банеры выбираются случайно? Как этого избежать не прибегая к тому, чтобы писать IP каждого посетителя в базу с показанными ему банерами?

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
Банероменялка
« Ответ #1 : 26 Июня 2003, 09:07:59 »
Цитировать
Какова вероятность

Чем больше баннеров - тем меньше вероятность ;)
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Банероменялка
« Ответ #2 : 26 Июня 2003, 14:44:51 »
я бы сделал так
if ($baner1} eq "$baner2")  {  .....  }
else {  .....   }

$baner1 - названия файла в которой лежит код банера :)
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Банероменялка
« Ответ #3 : 26 Июня 2003, 15:15:08 »
Yaroslav
Каким методо м делать это не проблема.

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

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
Банероменялка
« Ответ #4 : 26 Июня 2003, 15:23:28 »
Может хранить данные для юзера в файле, залочиваешь его пока не показался первый баннер, а второй будет ждать пока файл не освободится... Юзера вычислять по IP. При нормальной огрганизации должно работать довольно быстро...
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Банероменялка
« Ответ #5 : 26 Июня 2003, 16:55:11 »
Цитировать
C++:
что при обращениях к скрипту будут одинаковые куки

=
Цитировать
C++:
т.е. при первом обращении скрипт еще не поставил новые куки, а произошло уже второе обращение

if ($baner1} eq "$baner2") { ..... }
else { отправил кук }
итог - куки разные

вообще-то я с куками никак не знаком (где-то отдаленно о них слышал),  так что прошу на меня не серчать если что не так, я хотел от чистого сердца, а вышло как всегда (наверно) но - читай подпись. :)
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Банероменялка
« Ответ #6 : 26 Июня 2003, 17:23:29 »
Yaroslav
Я понял о чем ты. Такая проверка не прокатит, т.к. я не знаю какой я банер выбрал последним.
Wyclef
Можно так сделать, я об этом думал, но не хотелось бы....

Есть у кого другие идеи?

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Банероменялка
« Ответ #7 : 26 Июня 2003, 19:55:21 »
ну например
у тебя 10 баннеров
во фрейме вызывается скрипт с параметром  0,1 или 2
если 0 ты рандомно берется из 10 баннеров
если 1 рандомно из баннеров с 1-5
если 2 рандомно с 6-10
хотя конечно выход тот еще

другой вариант на сесиях, и хранить в сесии баннеры каторые были просмотренны пользователем
« Последнее редактирование: 26 Июня 2003, 20:05:44 от Alone »

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Банероменялка
« Ответ #8 : 26 Июня 2003, 20:45:44 »
Alone
Ну так я вроде и собираюсь делать на с использованием сессий... Каждый раз писать в куки показанные банеры.
Проблема в том, что после первого вызова скрипта куки не успеют обновиться и во втором будут такимиже что и в первом вызове...

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Банероменялка
« Ответ #9 : 26 Июня 2003, 22:29:16 »
Цитировать
C++:
т.к. я не знаю какой я банер выбрал последним.

что то я тебя реально понять не могу, давай еще раз по порядку:
есть 2 места под банеры и скажем всего 5 банеров (1.gif, 2gif, 3.gif, 4.gif, 5.gif)

выбираем 1банер (как это ты уже сам знаешь), далее присвой этому банеру что то типа этого ($место1=1.gif(то что выбрал))
отправил кук
выбираем 2банер (как это ты уже сам знаешь), далее присвой этому банеру что то типа этого ($место2=3.gif(то что выбрал))
if ("$место1" eq "$место2") { выбирай заново; }
else { показал банер; отправил кук; }

где я не то понял?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Банероменялка
« Ответ #10 : 27 Июня 2003, 01:10:33 »
Yaroslav
Страница не генерится скриптом! Читай выше.;)
Сама страница статическая в ней есть конструкции типа
<IFRAME src=script.cgi>
Я не могу проверить какое значение было у $место1.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28