Жеке кабинет PHP-де

Жеке кабинет деп пайдаланушы өз профилінің деректерін өзгерте алатын орны аталады. Біз account.php бетін жасайық, оған кірген пайдаланушы өз профилінің деректерін өзгерту үшін форманы көреді (логин мен парольден басқа, оларды ерекше түрде өңдеу керек).

Пайдаланушының id-ін GET параметрі ретінде жібермейтінімізге назар аударыңыз - біз account.php бетінде әрбір пайдаланушы өз профилінің деректерін көретін, біреуінікін емес, етіп жасаймыз.

Бұл үшін пайдаланушыны авторизациялау кезінде сессияға осы пайдаланушының id-ін былай жазуымыз керек:

html<?php
  if (password_verify($_POST['password'], $hash)) {
    $_SESSION['auth'] = true;
    $_SESSION['id'] = $user['id'];
  }
?>

Содан кейін account.php бетіне кірген кезде біз деректар қорынан сессиядағы id-і бар пайдаланушыны алатын SELECT сұранысын жасаймыз:

html<?php
  $id = $_SESSION['id'];
  $query = "SELECT * FROM users WHERE id='$id'";
  
  $res = mysqli_query($link, $query);
  $user = mysqli_fetch_assoc($res);
?>

Пайдаланушы деректерін өңдеу формасында көрсетуіміз керек. Мысалы, бұл пайдаланушының аты мен тегі болсын:

html<form action="" method="POST">
  <input name="name" value="<?= $user['name'] ?>">
  <input name="surname" value="<?= $user['surname'] ?>">
  <input type="submit" name="submit">
</form>

Форманы жіберу түймесін басқаннан кейін біз пайдаланушыны жаңарту сұранысын жасауымыз керек:

php<?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);
  }
?>
Задание 1

Сипатталған жеке кабинетті жүзеге асырыңыз.