Сохранение информации о пользователе в SESSION не работает. PHP - PullRequest
1 голос
/ 16 июня 2020

Итак, я собираюсь сохранить пользовательские данные в сеансе. Я установил первое имя пользователя и memberID, которые, похоже, работают правильно. но как только я добавлю больше деталей для сеанса сохранения, я не буду читать их на других страницах. Сессия начинается при подключении к базе данных. Я не знаю, в чем проблема, и надеюсь на вашу помощь, ребята. Спасибо

if (password_verify($password, $row['password'])) {

$_SESSION['loggedin'] = true;
$_SESSION['username'] = $row['username'];
$_SESSION['memberID'] = $row['memberID'];
$_SESSION['email'] = $row['email'];
$_SESSION['avatar'] = $row['avatar'];
$_SESSION['loggedin_time'] = time(); 

return true;
}

Код, который я добавляю на php страницу:

<?php echo htmlspecialchars($_SESSION['email'], ENT_QUOTES); ?>

FIXED

В моем заявлении были только выбраны memberID и имя пользователя !!!

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Исправлено.

Проблема заключалась в том, что у меня была инструкция для выбора только memberID и имени пользователя в моем PDO !!!

0 голосов
/ 16 июня 2020

Всегда не забывайте использовать session_start(), чтобы установить или использовать его. Не забудьте сделать это в верхней части файла. PHP.

Первая php страница

session_start();

if (password_verify($password, $row['password'])) {

$_SESSION['loggedin'] = true;
$_SESSION['username'] = $row['username'];
$_SESSION['memberID'] = $row['memberID'];
$_SESSION['email'] = $row['email'];
$_SESSION['avatar'] = $row['avatar'];
$_SESSION['loggedin_time'] = time(); 

return true;
}

Другая php страница

session_start();

...

Примечание : если это не так, вы должны попытаться выполнить var_dump() с двумя переменными и посмотреть, хранится ли какая-либо информация в им.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...