Вопрос Обновление сессии (PHP)

they tryna be cray
Пользователь
Статус
Оффлайн
Регистрация
22 Ноя 2017
Сообщения
238
Реакции[?]
78
Поинты[?]
4K
Здарова! Не могу понять, как обновить информацию в сессии после обновления данных в бд. Использую библиотеку rb php.

PHP:
if (isset($_POST['submit_birthday']))
{
    $user = R::load('users', $_SESSION['logged_user']->id);
    if (!$user) { exit('error'); }
    $bth_day = htmlspecialchars($_POST['birthday_day']);
    $bth_month = htmlspecialchars($_POST['birthday_month']);
    $bth_year = htmlspecialchars($_POST['birthday_year']);
    $bth_buffer = $bth_day .'/'. $bth_month .'/'. $bth_year;
    $user->birthday_date = $bth_buffer;
    R::store($user);
}

Вывод информации:
echo $_SESSION['logged_user']->birthday_date;
 
Модератор раздела Рынок
Модератор
Статус
Оффлайн
Регистрация
27 Апр 2019
Сообщения
106
Реакции[?]
47
Поинты[?]
1K
Не знаю как с rb, но чтобы брать данные из бд, сначало преобразуй данные в нормальный массив
Примерно так
PHP:
$_SESSION['user'] = [
    'id' => // Переменная которая берет данные из бд по типу $user['id']
];
// Вызов

echo $_SESSION['user']['id'];
Если не прав сори =)
 
they tryna be cray
Пользователь
Статус
Оффлайн
Регистрация
22 Ноя 2017
Сообщения
238
Реакции[?]
78
Поинты[?]
4K
Не знаю как с rb, но чтобы брать данные из бд, сначало преобразуй данные в нормальный массив
Примерно так
PHP:
$_SESSION['user'] = [
    'id' => // Переменная которая берет данные из бд по типу $user['id']
];
// Вызов

echo $_SESSION['user']['id'];
Если не прав сори =)
Не, там проблема в другом. Допустим, когда юзер авторизовался на странице и захотел поменять какую-то информацию про себя(в поле about me), значение в бд менялось, но на самой странице оставались старые данные из сессии.Значение обновлялось только при перезаходе в профиль.

Пофиксил эту залупу таким вот образом:

PHP:
$user = R::load('users', $_SESSION['logged_user']->id);
if (!$user) { exit('error'); }
$user->shortinf = trim(htmlspecialchars($_POST['shortinf']));
R::store($user);
$_SESSION['logged_user']->shortinf = trim(htmlspecialchars($_POST['shortinf']));
header('Refresh');
Но не знаю, на сколько это правильный способ, мб есть другие альтернативы


Безымянныйuiygbk.png
 
Модератор раздела Рынок
Модератор
Статус
Оффлайн
Регистрация
27 Апр 2019
Сообщения
106
Реакции[?]
47
Поинты[?]
1K
Изначально так надо было проблему изложить, я фиксил это тем что юзера просто выкидывали и он заходил заново, а так это норм
 
Сверху Снизу