Akun Pribadi di PHP

Akun pribadi dipahami sebagai tempat di mana pengguna dapat mengedit data profilnya. Mari kita buat halaman account.php, di mana pengguna akan melihat formulir untuk mengedit data profilnya (kecuali login dan kata sandi, ini harus ditangani dengan cara khusus).

Perhatikan bahwa id pengguna kita tidak meneruskannya melalui parameter GET - kita akan melakukannya sedemikian rupa sehingga setiap pengguna pada halaman account.php melihat data profilnya sendiri, bukan milik orang lain.

Untuk ini, saat mengotorisasi pengguna kita harus menuliskan id dari pengguna tersebut ke dalam sesi, seperti ini:

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

Kemudian saat mengakses halaman account.php kita akan melakukan kueri SELECT yang akan mengambil dari basis data pengguna dengan id dari sesi:

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

Data pengguna harus kita tunjukkan di dalam formulir untuk pengeditan. Misalnya, ini adalah nama depan dan nama belakang pengguna:

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

Setelah menekan tombol pengiriman formulir, kita harus melakukan kueri untuk memperbarui pengguna:

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

Implementasikan akun pribadi yang dijelaskan.