подтверждено session expired при поиске

Dr_Brown

Пользователь
Версия TP
иная
Привет, кто помнит такой баг на старых версиях движка, если перейти на 2-ю страницу поиска

session expired

не посдкажите как решить?
 

Conteo

Администратор
Здравствуйте, подскажите, на какую версию обновились из репо? Вообще эта сессия настраивается из кфг
 

belomaxorka

Разработчик
Администратор
можете выцепить search.php с движка и скинуть сюда? Речь идёт же об этои поиске, верно?
 

zxc

Легенда
Может имел ввиду в tracker.php? У меня там такое бывало. Я в свое время много правок переносил с гитхаба, но когда стали подключать библиотеки сторонние, просто забил и пошел своим путем
2023-06-30_14-50-07.jpg
:D
 
Последнее редактирование:

zxc

Легенда
PHP:
if ($search_id)
{
    $row = DB()->fetch_row("
        SELECT search_array, search_settings
        FROM ". BB_SEARCH ."
        WHERE session_id = '$session_id'
            AND search_type = ". SEARCH_TYPE_TRACKER ."
            AND search_id = '$search_id'
        LIMIT 1
    ");

    if (empty($row['search_settings']))
    {
        bb_die($lang['SESSION_EXPIRED']);
    }

    $previous_settings = unserialize($row['search_settings']);
    $tor_list_sql = $row['search_array'];
    $tor_list_ary = explode(',', $tor_list_sql);
    $tor_count    = count($tor_list_ary);
    unset($row);
}
 

belomaxorka

Разработчик
Администратор
PHP:
if ($search_id)
{
    $row = DB()->fetch_row("
        SELECT search_array, search_settings
        FROM ". BB_SEARCH ."
        WHERE session_id = '$session_id'
            AND search_type = ". SEARCH_TYPE_TRACKER ."
            AND search_id = '$search_id'
        LIMIT 1
    ");

    if (empty($row['search_settings']))
    {
        bb_die($lang['SESSION_EXPIRED']);
    }

    $previous_settings = unserialize($row['search_settings']);
    $tor_list_sql = $row['search_array'];
    $tor_list_ary = explode(',', $tor_list_sql);
    $tor_count    = count($tor_list_ary);
    unset($row);
}
Спасибо за находку, исходя из кода, ошибка "session expired" появляется если поле search_settings в таблице с результатами поиска пустое. Остается разобраться почему оно пустое (как я понял там настройки используемые во время поиска / фильтры) и нужна ли вообще ошибка если оно пустое :). Пока что в качестве временного решения можно закомментировать строку, если напрягает. Таких проверок в движке две, одна в tracker.php, другая в search.php
 
Последнее редактирование:

Dr_Brown

Пользователь
ошибка, пока не всплывает....найдется, попробую решить с помощью выше указанных методов
 

zxc

Легенда
При переходе на вторую страницу получаем ссылку вида /tracker.php?search_id=BDYneroAQdFr&start=50
Если разлогиниться и авторизоваться снова на этой странице получим session expired
 
Сверху