PHP-da şahsy kabinet
Şahsy kabinet diýlip, ulanyjynyň öz profiliniň maglumatlaryny üýtgedip bilýän ýeri aňladylýar. Geliň, ulanyjynyň girip görüp biljek we öz profil maglumatlaryny (login we paroldan başga, olara aýratyn ýagdaýda işlemelidir) üýtgedip bilýän formany görkezýän account.php sahypasyny düzeliň.
Ulanyjynyň id sanyny GET parametri hökmünde ibermeýändigimize üns beriň - her bir ulanyjy account.php sahypasyna girende öz profiliniň maglumatlaryny görüp, başgalarynyňkyny däldigine göz ýetirilmelidir.
Bunun üçin ulanyjy awtorizasiýa edilende, bu ulanyjynyň id sanyny sessýa ýazmalydyrys, mysal üçin şeýle:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Soňra account.php sahypasyna girende, biz sessýadaky id bilen ulanyjyny BD-dan alýan SELECT soragyny ederis:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Ulanyjynyň maglumatlaryny üýtgetmek üçin forma içinde görkezmeli. Mysal üçin, bu ulanyjynyň ady we familiýasy bolup biler:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Formany iber düwmesine basanymyzdan soň, biz ulanyjy üýtgetmek üçin sorag ibermelidiris:
<?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);
}
?>
Görkezilen şahsy kabineti amala aşyryň.