Я только что создал систему входа в систему и обновления профиля в PHP:
while ($row = mysqli_fetch_assoc($result_login_process)) {
$db_user_name = $row['user_name'];
$db_user_first_name = $row['user_firstname'];
$db_user_last_name = $row['user_lastname'];
$db_user_email = $row['user_email'];
$db_user_password = $row['user_password'];
$db_user_content = $row['user_content'];
$db_user_role = $row['user_role'];
}
if($user_email === $db_user_email && $user_password === $db_user_password && $db_user_role = "Admin") {
$_SESSION['user_name'] = $db_user_name;
$_SESSION['user_firstname'] = $db_user_first_name;
$_SESSION['user_lastname'] = $db_user_last_name;
$_SESSION['user_email'] = $db_user_email;
$_SESSION['user_role'] = $db_user_role;
header("Location: admin/");
}
В приведенном выше коде я получил данные из базы данных и сохранил их в переменных $_SESSION
для дальнейшего использования. Если пользователь обновляет свой профиль, все данные переменных сеанса должны быть обновлены для соответствия.
После успешного обновления своего профиля он также обновится в базе данных. Но ранее я хранил переменные типа username
и email
в переменных сеанса, и они не обновляются с новыми данными из базы данных, они остаются старыми значениями.
if(isset($_SESSION['user_name'])) {
$user_letter = strtoupper($_SESSION['user_name']);
$user_name = $_SESSION['user_name'];
$user_email = $_SESSION['user_email'];
}
Как я могу обновить переменные сеанса после обновления изменений в базе данных?