Oficina personal en PHP

Por oficina personal se entiende un lugar donde el usuario puede editar los datos de su perfil. Hagamos una página account.php, al acceder a la cual el usuario verá un formulario para editar los datos de su perfil (excepto el login y la contraseña, estos deben manejarse de manera especial).

Preste atención al hecho de que el id del usuario no lo pasamos como parámetro GET - lo haremos de modo que cada usuario en la página account.php vea los datos de su propio perfil, no los de otro.

Para ello, al autorizar al usuario debemos guardar en la sesión el id de este usuario, así:

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

Luego, al acceder a la página account.php haremos una consulta SELECT que obtendrá de la base de datos al usuario con el id de la sesión:

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

Debemos mostrar los datos del usuario en el formulario para editar. Que sean, por ejemplo, el nombre y apellido del usuario:

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

Después de hacer clic en el botón de envío del formulario deberemos hacer una consulta para actualizar el usuario:

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

Implemente la oficina personal descrita.