Isiklik konto PHP-s

Isikliku kabinetti all mõistetakse kohta, kus kasutaja saab oma profiili andmeid muuta. Teeme lehekülje account.php, millele sisse astudes näeb kasutaja vormi oma profiili andmete muutmiseks (välja arvatud kasutajanimi ja parool, neid tuleks käsitleda erilisel viisil).

Pange tähele, et kasutaja id-d me ei edasta GET parameetrina - me teeme nii, et iga kasutaja lehel account.php näeks oma profiili andmeid, mitte kellegi teise omi.

Selleks tuleb kasutaja autoriseerimisel me peame sessiooni kirjutama selle kasutaja id, nii:

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

Seejärel lehele account.php sisenemisel teeme me SELECT päringu, mis tõmbab andmebaasist kasutaja id-ga sessioonist:

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

Kasutaja andmed peame näitama muutmise vormis. Olgu näiteks need kasutaja ees- ja perekonnanimi:

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

Pärast vormi saatmise nuppu vajutamist peame tegema kasutaja uuendamise päringu:

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

Rakendage kirjeldatud isiklik konto.