Personlig konto på PHP

En personlig konto forstås som et sted, hvor brugeren kan redigere data i deres profil. Lad os lave siden account.php, hvor brugeren, ved at besøge den, vil se en formular for at redigere data i deres profil (undtagen login og adgangskode, disse bør håndteres på en særlig måde).

Vær opmærksom på, at vi ikke overfører brugerens id som en GET parameter - vi vil gøre det sådan, at hver bruger på siden account.php ser data fra deres egen profil, og ikke en andens.

For at gøre dette skal vi, når brugeren godkendes, skrive brugerens id i sessionen, sådan her:

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

Derefter, ved besøg på siden account.php, vil vi lave en SELECT forespørgsel, som vil hente brugeren fra databasen med id fra sessionen:

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

Vi skal vise brugerens data i formularen til redigering. Lad det for eksempel være brugerens fornavn og efternavn:

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

Efter tryk på afsendelsesknappen i formularen skal vi lave en forespørgsel for at opdatere brugeren:

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

Implementer den beskrevne personlige konto.