Асабісты кабінет на PHP
Пад асабістым кабінетам разумеецца месца, дзе
карыстальнік можа рэдагаваць дадзеныя свайго
профілю. Давайце зробім старонку account.php,
зайшоўшы на якую карыстальнік убачыць форму
для рэдагавання дадзеных свайго профілю
(акрамя лагіну і пароля, іх варта апрацоўваць
асаблівым чынам).
Звярніце ўвагу на тое, што id карыстальніка
мы не перадаем GET параметрам - мы
зробім так, каб кожны карыстальнік на
старонцы account.php бачыў дадзеныя
свайго профілю, а не чужога.
Для гэтага варта пры аўтарызацыі карыстальніка
мы павінны ў сесію запісаць id гэтага
карыстальніка, вось так:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Затым па заходзе на старонку account.php
мы будзем рабіць SELECT запыт, які
будзе даставаць з БД карыстальніка з id
з сесіі:
<?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);
}
?>
Рэалізуйце апісаны асабісты кабінет.