Henkilökohtainen asiakas PHP:llä

Henkilökohtaisella asiakkaalla tarkoitetaan paikkaa, jossa käyttäjä voi muokata profiilitietojaan. Tehdään sivu account.php, jolle kirjautunut käyttäjä näkee lomakkeen profiilitietojensa muokkaamiseen (paitsi käyttäjätunnus ja salasana, niitä käsitellään erityisellä tavalla).

Huomaa, että käyttäjän id emme välitä GET-parametrina - me teemme niin, että jokainen käyttäjä sivulla account.php näkee oman profiilinsa tiedot, eikä toisen.

Tätä varten käyttäjän autorisoinnissa meidän on kirjoitettava sessioon käyttäjän id, näin:

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

Sitten saapumisella sivulle account.php teemme SELECT-kyselyn, joka noutaa tietokannasta käyttäjän, jonka id on session id:stä:

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

Käyttäjän tiedot meidän on näytettävä muokkausta varten olevassa lomakkeessa. Olkoon esimerkiksi käyttäjän etu- ja sukunimi:

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

Lomakkeen lähettämisen painiketta painettaessa meidän tulee tehdä kysely käyttäjän päivittämiseksi:

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

Toteuta kuvattu henkilökohtainen asiakas.