Persönlicher Bereich in PHP
Unter einem persönlichen Bereich versteht man einen Ort, an dem
der Benutzer die Daten seines Profils bearbeiten kann.
Lassen Sie uns eine Seite account.php erstellen,
auf der der Benutzer ein Formular zur Bearbeitung
der Daten seines Profils sieht
(außer Login und Passwort, diese sollten auf
besondere Weise behandelt werden).
Beachten Sie, dass wir die id des Benutzers
nicht als GET-Parameter übergeben - wir
werden es so einrichten, dass jeder Benutzer auf
der Seite account.php die Daten
seines eigenen Profils sieht und nicht die eines anderen.
Dazu müssen wir bei der Autorisierung des Benutzers
die id dieses Benutzers in der Session speichern,
etwa so:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Danach werden wir beim Aufruf der Seite account.php
eine SELECT-Abfrage durchführen, die
den Benutzer mit der id aus der Session
aus der Datenbank holt:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Die Daten des Benutzers müssen wir in dem Formular zur Bearbeitung anzeigen. Nehmen wir an, dies wären beispielsweise der Vor- und Nachname des Benutzers:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Nach dem Klick auf den Senden-Button der Form müssen wir eine Aktualisierungsabfrage für den Benutzer durchführen:
<?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);
}
?>
Implementieren Sie den beschriebenen persönlichen Bereich.