პერსონალური კაბინეტი PHP-ში
პერსონალური კაბინეტი გაგებულია, როგორც ადგილი, სადაც
მომხმარებელს შეუძლია შეცვალოს თავისი პროფილის
მონაცემები. მოდით, გავაკეთოთ გვერდი account.php,
შესვლისას რომელზეც მომხმარებელი დაინახავს ფორმას
თავისი პროფილის მონაცემების რედაქტირებისთვის
(ლოგინისა და პაროლის გარდა, მათი დამუშავება
სპეციალური წესით უნდა მოხდეს).
ყურადღება მიაქციეთ, რომ მომხმარებლის id
ჩვენ არ ვგზავნით GET პარამეტრით - ჩვენ
ასე გავაკეთებთ, რომ ყოველი მომხმარებელი
გვერდზე account.php დაინახოს მხოლოდ
საკუთარი პროფილის მონაცემები, და არა სხვისი.
ამისთვის მომხმარებლის ავტორიზაციის დროს
ჩვენ უნდა ჩავწეროთ სესიაში ამ მომხმარებლის
id, აი ასე:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
შემდეგ გვერდზე account.php
შესვლისას ჩვენ გავაკეთებთ SELECT მოთხოვნას, რომელიც
მონაცემთა ბაზიდან ამოიღებს მომხმარებელს id-ით
სესიიდან:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
მომხმარებლის მონაცემები ჩვენ უნდა ვაჩვენოთ რედაქტირების ფორმაში. მოდით, მაგალითად, ეს იყოს მომხმარებლის სახელი და გვარი:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
ფორმის გაგზავნის ღილაკზე დაწკაპუნების შემდეგ ჩვენ უნდა განვახორციელოთ მოთხოვნა მომხმარებლის განახლებისთვის:
<?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);
}
?>
რეალიზაცია გაუკეთეთ აღწერილ პერსონალურ კაბინეტს.