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:
<?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:
<?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:
<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
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);
}
?>
Açıklanan kişisel hesabı uygulayın.