Akaun Peribadi dalam PHP
Akaun peribadi difahamkan sebagai tempat di mana
pengguna boleh mengedit data profil mereka.
Mari kita buat halaman account.php,
di mana pengguna, setelah melayarinya, akan melihat borang
untuk mengedit data profil mereka
(kecuali log masuk dan kata laluan, yang harus diproses
dengan cara khas).
Perhatikan bahawa id pengguna
kita tidak hantar melalui parameter GET - kita
akan buat supaya setiap pengguna pada
halaman account.php melihat data
profil mereka sendiri, bukan profil orang lain.
Untuk ini, semasa mengesahkan pengguna
kita perlu catatkan id
pengguna tersebut ke dalam sesi, seperti ini:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Kemudian, apabila memasuki halaman account.php
kita akan lakukan pertanyaan SELECT yang
akan mengambil pengguna dari pangkalan data 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 kita harus tunjukkan dalam borang untuk pengeditan. Katakan, sebagai contoh, ia adalah nama dan nama keluarga pengguna:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Selepas menekan butang hantar borang kita harus lakukan pertanyaan untuk mengemaskini 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);
}
?>
Laksanakan akaun peribadi yang diterangkan.