Account personale in PHP

Per account personale si intende il luogo dove l'utente può modificare i dati del proprio profilo. Creiamo una pagina account.php, accedendo alla quale l'utente vedrà un modulo per modificare i dati del proprio profilo (eccetto login e password, che dovrebbero essere gestiti in modo speciale).

Nota che id dell'utente non lo passiamo come parametro GET - faremo in modo che ogni utente sulla pagina account.php veda i dati del proprio profilo, e non di quello di altri.

Per fare ciò, quando l'utente si autentica dobbiamo memorizzare nella sessione id di questo utente, in questo modo:

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

Poi, quando si accede alla pagina account.php eseguiremo una query SELECT che recupererà dal database l'utente con id della sessione:

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

I dati dell'utente devono essere mostrati nel modulo di modifica. Che siano, ad esempio, il nome e il cognome dell'utente:

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

Dopo aver premuto il pulsante di invio del modulo dovremo eseguire una query di aggiornamento dell'utente:

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

Implementa l'account personale descritto.