Panel użytkownika w PHP
Przez panel użytkownika rozumie się miejsce, gdzie
użytkownik może edytować dane swojego
profilu. Zróbmy stronę account.php,
po wejściu na którą użytkownik zobaczy formularz
do edycji danych swojego profilu
(oprócz loginu i hasła, należy je przetwarzać
w szczególny sposób).
Zwróć uwagę na to, że id użytkownika
nie przekazujemy parametrem GET -
zrobimy tak, aby każdy użytkownik na
stronie account.php widział dane
swojego profilu, a nie cudzego.
Aby to zrobić, należy przy autoryzacji użytkownika
powinniśmy do sesji zapisać id tego
użytkownika, w ten sposób:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Następnie po wejściu na stronę account.php
będziemy wykonywać zapytanie SELECT, które
będzie pobierać z bazy danych użytkownika z id
z sesji:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Dane użytkownika powinniśmy pokazać w formularzu do edycji. Niech, na przykład, będą to imię i nazwisko użytkownika:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Po naciśnięciu przycisku wysłania formularza powinniśmy wykonać zapytanie aktualizujące użytkownika:
<?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);
}
?>
Zaimplementuj opisany panel użytkownika.