Trang cá nhân bằng PHP

Trang cá nhân được hiểu là nơi người dùng có thể chỉnh sửa dữ liệu hồ sơ của mình. Hãy tạo một trang account.php, khi vào đó người dùng sẽ thấy một biểu mẫu để chỉnh sửa dữ liệu hồ sơ của mình (ngoại trừ tên đăng nhập và mật khẩu, chúng cần được xử lý một cách đặc biệt).

Chú ý rằng id người dùng chúng ta không truyền qua tham số GET - chúng ta sẽ làm sao để mỗi người dùng trên trang account.php chỉ thấy dữ liệu hồ sơ của mình, chứ không phải của người khác.

Để làm điều này, khi xác thực người dùng chúng ta phải ghi id của người dùng đó vào session, như thế này:

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

Sau đó, khi truy cập vào trang account.php chúng ta sẽ thực hiện truy vấn SELECT, truy vấn này sẽ lấy từ CSDL người dùng có id từ session:

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

Dữ liệu người dùng chúng ta phải hiển thị trong biểu mẫu để chỉnh sửa. Ví dụ, giả sử đó là tên và họ của người dùng:

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

Sau khi nhấn nút gửi biểu mẫu, chúng ta sẽ phải thực hiện truy vấn cập nhật người dùng:

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

Hãy triển khai trang cá nhân đã mô tả.