Asmeninis kabinetas PHP
Asmeniniu kabinetu suprantama vieta, kur
vartotojas gali redaguoti savo profilio
duomenis. Sukurkime puslapį account.php,
į kurį atvykęs vartotojas pamatys formą
savo profilio duomenų redagavimui
(išskyrus prisijungimo vardą ir slaptažodį, juos reikėtų tvarkyti
ypatingu būdu).
Atkreipkite dėmesį, kad id vartotojo
mes neperduodame GET parametru - mes
padarysime taip, kad kiekvienas vartotojas
puslapyje account.php matytų savo
profilio duomenis, o ne svetimus.
Norint tai pasiekti, autorizuojant vartotoją
mes turime į sesiją įrašyti šio vartotojo
id, štai taip:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Vėliau, atvykus į puslapį account.php,
mes atliksime SELECT užklausą, kuri
paims iš DB vartotoją su id
iš sesijos:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Vartotojo duomenis turime parodyti redagavimo formoje. Tarkime, pavyzdžiui, tai bus vartotojo vardas ir pavardė:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Paspaudus formos siuntimo mygtuką mes turėtume atlikti vartotojo atnaujinimo užklausą:
<?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);
}
?>
Įgyvendinkite aprašytą asmeninį kabinetą.