Személyes iroda PHP-ben
A személyes irodán azt a helyet értjük, ahol
a felhasználó szerkesztheti profilja adatait.
Készítsük el a account.php oldalt,
ahova belépve a felhasználó egy űrlapot fog látni
a profilja adatainak szerkesztéséhez
(a bejelentkezési név és jelszó kivételével, ezeket különleges
módon kell kezelni).
Figyeljünk arra, hogy a felhasználó id-jét
nem GET paraméterrel adjuk át - úgy fogjuk
beállítani, hogy minden felhasználó a
account.php oldalon a saját profilja
adatait lássa, és ne másét.
Ehhez a felhasználó hitelesítésekor
a munkamenetbe kell elmentenünk a felhasználó
id-jét, így:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Majd a account.php oldalra érkezéskor
egy SELECT lekérdezést fogunk végrehajtani, amely
ki fogja szedni az adatbázisból a munkamenetből származó
id-vel rendelkező felhasználót:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
A felhasználó adatait meg kell jelenítenünk a szerkesztő űrlapban. Legyenek ez például a felhasználó keresztneve és vezetékneve:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Az űrlap elküldése gomb megnyomása után egy felhasználó frissítési lekérdezést kell végrehajtanunk:
<?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);
}
?>
Valósítsa meg a leírt személyes irodát.