Isiklik konto PHP-s
Isikliku kabinetti all mõistetakse kohta, kus
kasutaja saab oma profiili andmeid muuta.
Teeme lehekülje account.php,
millele sisse astudes näeb kasutaja vormi
oma profiili andmete muutmiseks
(välja arvatud kasutajanimi ja parool, neid tuleks käsitleda
erilisel viisil).
Pange tähele, et kasutaja id-d
me ei edasta GET parameetrina - me
teeme nii, et iga kasutaja
lehel account.php näeks oma
profiili andmeid, mitte kellegi teise omi.
Selleks tuleb kasutaja autoriseerimisel
me peame sessiooni kirjutama selle kasutaja
id, nii:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Seejärel lehele account.php
sisenemisel teeme me SELECT päringu, mis
tõmbab andmebaasist kasutaja id-ga
sessioonist:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Kasutaja andmed peame näitama muutmise vormis. Olgu näiteks need kasutaja ees- ja perekonnanimi:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Pärast vormi saatmise nuppu vajutamist peame tegema kasutaja uuendamise päringu:
<?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);
}
?>
Rakendage kirjeldatud isiklik konto.