Անձնական գրասենյակ 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);
}
?>
Իրականացրեք նկարագրված անձնական գրասենյակը: