Henkilökohtainen asiakas PHP:llä
Henkilökohtaisella asiakkaalla tarkoitetaan paikkaa, jossa
käyttäjä voi muokata profiilitietojaan.
Tehdään sivu account.php,
jolle kirjautunut käyttäjä näkee lomakkeen
profiilitietojensa muokkaamiseen
(paitsi käyttäjätunnus ja salasana, niitä käsitellään
erityisellä tavalla).
Huomaa, että käyttäjän id
emme välitä GET-parametrina - me
teemme niin, että jokainen käyttäjä
sivulla account.php näkee
oman profiilinsa tiedot, eikä toisen.
Tätä varten käyttäjän autorisoinnissa
meidän on kirjoitettava sessioon käyttäjän id,
näin:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Sitten saapumisella sivulle account.php
teemme SELECT-kyselyn, joka
noutaa tietokannasta käyttäjän, jonka id
on session id:stä:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Käyttäjän tiedot meidän on näytettävä muokkausta varten olevassa lomakkeessa. Olkoon esimerkiksi käyttäjän etu- ja sukunimi:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Lomakkeen lähettämisen painiketta painettaessa meidän tulee tehdä kysely käyttäjän päivittämiseksi:
<?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);
}
?>
Toteuta kuvattu henkilökohtainen asiakas.