Вы не зашли.
    
        
        
                Хм. А что мне мешает сделать все без сессии?
В базе есть поле для cookie_id по нему пусть и получают доспуп пользователи. Какого фига сессия нужна там? 

Чем сессия будет каждый раз open+unserialize лучше уж запрос в базу.
Может понадобиться обычная сессия для captcha только наверно.
        
        
                
    
 
        
        
                Либо у меня горячка, либо озарение простых вещей 

Хотя если файл сессии сохранился, то в принципе все будет быстро...
Код:
| span style="color: #0000BB"><?php//Набросок.//+ SESSION////! KEY `session_id`if (isset($_COOKIE[SESSION_NAME])) {/*    session_name(SESSION_NAME);    session_start();        if (! isset($_SESSION[SESSION_NAME])) {                $_SESSION = array();*/        $result = $db->prepare("SELECT `users`.`user_id`, `users`.`user_title`, `users`.`user_sex`, `users`.`user_name` FROM `users` WHERE `users`.`session_id` = ? AND `users`.`session_expire` > NOW() LIMIT 1;");        $result->execute(array($_COOKIE[SESSION_NAME]));                if ($result->rowCount()) {/*            $_SESSION[SESSION_NAME] = true;            session_set_cookie_params(SESSION_EXPIRE,                                      SESSION_PATH,                                      SESSION_DOMAIN,                                      SESSION_SECURE,                                      SESSION_HTTPONLY);            session_regenerate_id(true);            $_SESSION += $result->fetch();*/            $user = $result->fetch();            /*$result = $db->prepare("UPDATE `users` SET `users`.`session_expire` = NOW() + INTERVAL '" . SESSION_EXPIRE . "' SECOND, `users`.`session_id` = :new WHERE `users`.`session_id` = :old LIMIT 1;");            $result->execute(array(':old' => $_COOKIE[SESSION_NAME],                                   ':new' => $_COOKIE[SESSION_NAME] = session_id()));*/        }        else {                        setcookie(SESSION_NAME,                      null, //Session value.                      0,    //Session expire.                      SESSION_PATH,                      SESSION_DOMAIN,                      SESSION_SECURE,                      SESSION_HTTPONLY);/*          unset($_COOKIE[SESSION_NAME], $_SESSION);            session_destroy();*/        }  //}}//- SESSION// | 
                Отредактировано tipsun (2012.06.29 14:02)
            
        
                
     
        
        
                Cookie сгенерировать и засунуть в базу. Срок годности 3 дня, допустим. Или как-то так.
        
        
                
    
 
        
        
                Да, на этом форуме вроде, как я посмотрел, такая же схема.
        
                            
                Отредактировано tipsun (2012.06.29 20:08)
            
        
                
     
        
        
                Если без срока в базе, то можно будет взломать, нет?
Зато намного быстрее работать будет.
        
        
                
    
 
        
        
                Выдавай в куки временный хеш...например если чел авторизировался ему в куки хеш..вышел кеш заменяется на любой случайный...если не дурак поймёш
        
                            
                Отредактировано WapStyle (2012.07.03 17:05)
            
        
                
     
        
        
                WapStyle, спасибо за идею. 
 Добавлено спустя   8 минут  20 секунд:
Добавлено спустя   8 минут  20 секунд: Так.
У меня, типа 

 , есть отдельная таблица с активными/онлайн. Может сделать раздельно?
Там у меня записи не удаляются. (REPLACE).
Можно, в принципе зачищать поля с id=0 т.к. гости его не имеют.
Значит вполне возможен вариант с проверкой юзеров, которые не подавали активности, скажем, 20 часов.
Код:
| span style="color: #0000BB"><?php//+ ACTIVITY//$qt = 'REPLACE `activity` '    . "SET `activity`.`active_id` = '" . ((int) @$user['id']) . "', "    . '`activity`.`active_ip` = ?, '    . '`activity`.`active_browser` = ?, '    . "`activity`.`active_point` = NOW() + INTERVAL '" . $ini['activityExpire'] . "' SECOND;";$db->prepare($qt)   ->execute(array($_SERVER['REMOTE_ADDR'],                   $_SERVER['HTTP_USER_AGENT']));//- ACTIVITY///*в $ini у меня типа настройки стандартные или замещеные с базы.Сейчас подумал, что типа зачем вытаскивать настройки, когда наверно там же в запросе можно обратиться к таблице с настройками. Или такого рода настройки вообще в константу? ХЗ.*/ | 
                Отредактировано tipsun (2012.07.03 19:07)
            
        
                
     
        
        
        
                WapStyle, да. Очень хорошее решение.
Запланировать каждую ночь 1 проверку.
У кого есть отметка запомнить, оставлять куку. Другим очищать в базе поле кука_ид. 
 
        
        
                
     
        
        
                Это уже раздел cron наверно. Надо будет почитать что и как там.