PHP'де жеке кабинет
Жеке кабинет деп колдонуучу өз профилинин маалыматтарын түзөтө ала турган жер түшүнүлөт. Келгиле, колдонуучу өз профилинин маалыматтарын түзөтүү үчүн форманы көрө турган account.php баракчасын жазалы (колдонуучунун аты жана сырсөзүнөн башка, аларды өзгөчө жол менен иштеп чыгуу керек).
Колдонуучунун id'син GET параметри менен бербей турганыбызга көңүл булгула - биз ар бир колдонуучу account.php баракчасында өз профилинин маалыматтарын көрүшү үчүн кылабыз, башканынки эмес.
Бул үчүн колдонуучуну киргизгенде, анын id'син сессияга төмөнкүдөй жазуубуз керек:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Андан кийин account.php баракчасына киргенде, биз сессиядан алынган id'си бар колдонуучуну БД'дан алып чыга турган SELECT суроо жасайбыз:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Колдонуучунун маалыматтарын түзөтүү үчүн формада көрсөтүүбүз керек. Мисалы, бул колдонуучунун аты жана фамилиясы болсун:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Форманы жөнөтүү баскычын баскандан кийин, колдонуучуну жаңыртуу үчүн суроо жасашыбыз керек:
<?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);
}
?>
Сыпатталган жеке кабинетти ишке ашырыңыз.