PHP'de Kişisel Hesap

Kişisel hesap, kullanıcının kendi profil verilerini düzenleyebildiği yer olarak anlaşılır. account.php sayfasını yapalım, kullanıcı bu sayfaya girdiğinde kendi profil verilerini düzenlemek için bir form görsün (kullanıcı adı ve şifre hariç, bunlar özel bir şekilde işlenmelidir).

Kullanıcının id bilgisini GET parametresi olarak iletmediğimize dikkat edin - account.php sayfasında her kullanıcının kendi profil verilerini görmesini, başkasınınkini değil, sağlayacağız.

Bunun için, kullanıcının yetkilendirilmesi sırasında, oturuma bu kullanıcının id bilgisini şu şekilde kaydetmeliyiz:

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

Daha sonra account.php sayfasına giriş yapıldığında, veritabanından oturumdaki id ile eşleşen kullanıcıyı getirecek bir SELECT sorgusu yapacağız:

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

Kullanıcı verilerini düzenleme formunda göstermeliyiz. Örneğin, bunlar kullanıcının adı ve soyadı olsun:

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

Form gönderme düğmesine tıklandıktan sonra kullanıcıyı güncellemek için bir sorgu yapmamız gerekecek:

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

Açıklanan kişisel hesabı uygulayın.