Под личным кабинетом понимается место, где
пользователь может редактировать данные своего
профиля. Давайте сделаем страницу account.php
,
зайдя на которую пользователь увидит форму
для редактирования данных своего профиля
(кроме логина и пароля, их следует обрабатывать
особым образом).
Обратите внимание на то, что id
пользователя
мы не передаем GET
параметром - мы
сделаем так, чтобы каждый пользователь на
странице account.php
видел данные
своего профиля, а не чужого.
Для этого следует при авторизации пользователя
мы должны в сессию записать id
этого
пользователя, вот так:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Затем по заходу на страницу account.php
мы будем делать SELECT
запрос, который
будет доставать из БД пользователя с id
из сессии:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE login='$id'";
$result = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($result);
?>
Данные пользователя мы должны показать в форме для редактирования. Пусть, к примеру, это будут имя и фамилия пользователя:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
После нажатия на кнопку отправки формы мы должны будем сделать запрос на обновление юзера:
<?php
if (!empty($_POST['submit'])) {
$name = $_POST['name'];
$surname = $_POST['surname'];
$query = "UPDATE users SET name='$name', surname='$surname' WHERE id=$id";
mysqli_query($link, $query);
}
?>
Реализуйте описанный личный кабинет.