Akun Pribadi di PHP
Akun pribadi dipahami sebagai tempat di mana
pengguna dapat mengedit data
profilnya. Mari kita buat halaman account.php,
di mana pengguna akan melihat formulir
untuk mengedit data profilnya
(kecuali login dan kata sandi, ini harus ditangani
dengan cara khusus).
Perhatikan bahwa id pengguna
kita tidak meneruskannya melalui parameter GET - kita
akan melakukannya sedemikian rupa sehingga setiap pengguna pada
halaman account.php melihat data
profilnya sendiri, bukan milik orang lain.
Untuk ini, saat mengotorisasi pengguna
kita harus menuliskan id dari
pengguna tersebut ke dalam sesi, seperti ini:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Kemudian saat mengakses halaman account.php
kita akan melakukan kueri SELECT yang
akan mengambil dari basis data pengguna dengan id
dari sesi:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Data pengguna harus kita tunjukkan di dalam formulir untuk pengeditan. Misalnya, ini adalah nama depan dan nama belakang pengguna:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Setelah menekan tombol pengiriman formulir, kita harus melakukan kueri untuk memperbarui pengguna:
<?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);
}
?>
Implementasikan akun pribadi yang dijelaskan.