Лична сметка на 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);
}
?>
Реализирайте описаната лична сметка.