Shaxsiy kabinet PHPda
Shaxsiy kabinet deb foydalanuvchi o'z profilingiz ma'lumotlarini
tahrirlashi mumkin bo'lgan joy tushuniladi. Keling, account.php
sahifasini yarataylik, unga kirgan foydalanuvchi o'z profilingiz
ma'lumotlarini tahrirlash uchun formani ko'radi
(loginni va parolni hisobga olmaganda, ularni alohida
usulda qayta ishlash kerak).
E'tibor bering, foydalanuvchi id sini
biz GET parametri sifatida o'tkazmaymiz - biz
shunday qilamizki, har bir foydalanuvchi
account.php sahifasida o'z profilingiz
ma'lumotlarini ko'radi, boshqasiniki emas.
Buning uchun foydalanuvchini avtorizatsiya qilishda
sessiyaga ushbu foydalanuvchining id sini
yozishimiz kerak, mana shu tarzda:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Keyin account.php sahifasiga kirishda
biz SELECT so'rovini bajaramiz, bu
Ma'lumotlar bazasidan sessiyadagi id ga ega
foydalanuvchini olib beradi:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Foydalanuvchi ma'lumotlarini biz tahrirlash uchun mo'ljallangan formada ko'rsatishimiz kerak. Masalan, bu foydalanuvchining ismi va familiyasi bo'lsin:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Formani yuborish tugmasini bosgandan so'ng biz foydalanuvchini yangilash uchun so'rov bajarishimiz kerak:
<?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);
}
?>
Tasvirlangan shaxsiy kabinetni amalga oshiring.