Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Модальное окно


Автор: Exploiter 10.5.2011, 13:28
Привет! Как сдедать так чтоб если юзер находится на сайте более 5 минут предложить ему зарегится.
делаю так 
Код

// Текущее время
    $current_time = time();
    $ip=$_SERVER['REMOTE_ADDR']; 
    // Выбираем пользователя с такой-же ID-сессий, как сейчас
    $res = $db->query("SELECT * FROM sessions WHERE session_id = '". session_id() ."'");
    // Если такого пользователя не существует, то нужно создать его
    if (!mysql_num_rows($res)) {
        mysql_query("INSERT INTO sessions (session_id, last_time, ip_add) VALUES('". session_id() ."', '". $current_time ."', '". $ip ."')");
    }
    else {
        $row = mysql_fetch_array($res);

        // Обновляем таблицу
        mysql_query("UPDATE sessions SET last_time = '". $current_time ."' WHERE session_id = '". session_id() ."'");
    }
    
    // Текущее время
    $online_time = time() - 300;
$res = mysql_query("SELECT * FROM sessions WHERE last_time > '". $online_time ."'");


а как теперь вывести модальное окно?

Автор: Котокобра 10.5.2011, 14:54
я бы через куки делал. при входе на страницу проверяешь куку и по разнице времени запускаешь таймер.
если пользователь зарегистрирован, таймер не выводишь на странице.

Автор: skyboy 10.5.2011, 14:55
сформировать javascript, который при выполнении выведет "модальное окно"

Автор: Котокобра 10.5.2011, 14:56
Цитата(Exploiter @  10.5.2011,  13:28 Найти цитируемый пост)
а как теперь вывести модальное окно? 


по таймеру запускаешь функцию, отображающую див с формой регистрации. 


upd: не знаю, куда вписать, впишу здесь. при входе пользователя на страницу, выставляешь в куку время захода и запускаешь таймер (то есть сначала проверяешь куки, либо выставляешь, либо высчитываешь время, затем таймер). другой вопрос, что будет, если пользователь скажет "нет". ему каждые 5 минут будет выводиться окно? или только один раз? если каждые пять минут - снова выставление куки и запуск таймера. если один (а так будет логичнее, окно не будет донимать пользователя), то при выставленном времени, большем 5 минут назад, таймер не запускается.
следующий вопрос: если юзер ушел с сайта, то нужно ли ему показывать окно при следующем заходе? поскольку определить, ушел он или нет, мы не можем, то самый простой вариант - показывать раз в день. то есть устанавливаешь куке срок хранения - сутки. 

Автор: Exploiter 10.5.2011, 15:28
думаю один раза спросить и  будет вполне достаточно и если он отказался то и не надо ему больше предлагать.

Добавлено через 3 минуты и 19 секунд
может есть пример какой, а то с куками еще не работал :(

Автор: Котокобра 11.5.2011, 00:08
да, здесь на форуме полно таких примеров

http://forum.vingrad.ru/index.php?showtopic=326228&view=findpost&p=2325120

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)