Persoonlike rekening op PHP
'n Persoonlike rekening verwys na 'n plek waar
die gebruiker die data van sy
profiel kan redigeer. Kom ons maak 'n bladsy account.php,
waar die gebruiker, wanneer hy daarop inloop, 'n vorm sal sien
om die data van sy profiel te redigeer
(behalwe vir die aanmeldnaam en wagwoord; dit moet op 'n
spesiale manier hanteer word).
Let daarop dat ons die gebruiker se id
nie as 'n GET-parameter oordra nie - ons
sal dit so maak dat elke gebruiker op
die bladsy account.php die data
van sy eie profiel sien, en nie iemand anders s'n nie.
Om dit te doen, moet ons tydens die gebruiker se verifikasie
die gebruiker se id in die sessie aanteken, soos volg:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Dan sal ons, by toegang tot die bladsy account.php,
'n SELECT-navraag uitvoer wat
die gebruiker met die id
uit die sessie uit die databasis sal haal:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Ons moet die gebruiker se data in die vorm vir redigering wys. Laat dit byvoorbeeld die gebruiker se voornaam en van wees:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Nadat die knoppie om die vorm in te stuur gedruk is, moet ons 'n navraag doen om die gebruiker op te dateer:
<?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);
}
?>
Implementeer die beskryfde persoonlike rekening.