Я занимаюсь разработкой сайта на PHP. Когда начинается сеанс пользователя, я загружаю всю его строку db в переменную $ _SESSION var. Когда пользователь меняет значение db, я также обновляю var $ _SESSION.Согласование пользовательских данных между всеми его сеансами
Проблема начинается, когда более одного сеанса активны для одного и того же пользователя. Есть ли способ обновить данные для всех сеансов одного и того же пользователя без перегрузки базы данных? Или, альтернативно, есть ли способ заставить php использовать один и тот же файл сеанса для всего сеанса, принадлежащего одному и тому же пользователю? Или я должен просто запрашивать db каждый раз, когда сеанс продолжается?
И еще одна дилемма: стоит ли это? Я имею в виду, я не знаю, насколько этот механизм мог бы облегчить загрузку сервера, и я не знаю, применим ли этот механизм к сеансам на основе файлов, или я должен использовать другой тип хранения сеанса.
Этот вопрос несколько связан с this other question on mine (даже если обходным путем для этого является просто удаление всех файлов сеанса).
Если данные присутствуют в БД, вам не нужно передавать их через сеанс каждый раз. В сеансе требуется только зарегистрированный пользователь. Предположим, пользователь зарегистрирован, и он обновляет свой аватар или что-то еще, связанное с его user_id. Зачем вам нужно сохранять $ row ['avatar'] в $ _SESSION, когда вы можете получить к нему доступ каждый раз '' SELECT avatar FROM users WHERE user_id = $ _SESSION ['user_id'] "' –
@RoyalBg Вы экономите именно ваши данные вызовите в базу данных, если вы сохраните такие данные в любом случае, прочитайте SESSION – djot
точно @RoyalBg, вам нужно обновить evrything в db с помощью 'user_id', а затем, если вам нужно обновить адрес электронной почты или имя пользователя, а затем обновить его до db, а затем снова сохранить обновленный адрес электронной почты или имя пользователя на сеанс –