Жеке кабинет 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);
}
?>
Сипатталған жеке кабинетті жүзеге асырыңыз.