PHP पर व्यक्तिगत खाता

व्यक्तिगत खाते से तात्पर्य उस स्थान से है जहां उपयोगकर्ता अपनी प्रोफ़ाइल के डेटा को संपादित कर सकता है। आइए हम एक पृष्ठ account.php बनाएं, जिस पर जाकर उपयोगकर्ता को अपनी प्रोफ़ाइल के डेटा को संपादित करने के लिए एक फॉर्म दिखाई देगा (लॉगिन और पासवर्ड को छोड़कर, उन्हें विशेष तरीके से संसाधित किया जाना चाहिए)।

ध्यान दें कि उपयोगकर्ता का id हम GET पैरामीटर द्वारा ट्रांसफर नहीं करते हैं - हम इसे इस तरह से बनाएंगे कि प्रत्येक उपयोगकर्ता account.php पृष्ठ पर अपनी प्रोफ़ाइल के डेटा देखे, किसी और के नहीं।

इसके लिए, उपयोगकर्ता के प्राधिकरण के दौरान हमें सत्र में इस उपयोगकर्ता का id लिखना होगा, इस तरह:

html<?php
  if (password_verify($_POST['password'], $hash)) {
    $_SESSION['auth'] = true;
    $_SESSION['id'] = $user['id'];
  }
?>

फिर account.php पृष्ठ पर जाने पर हम एक SELECT क्वेरी करेंगे, जो डेटाबेस से सत्र के id वाले उपयोगकर्ता को प्राप्त करेगी:

html<?php
  $id = $_SESSION['id'];
  $query = "SELECT * FROM users WHERE id='$id'";
  
  $res = mysqli_query($link, $query);
  $user = mysqli_fetch_assoc($res);
?>

उपयोगकर्ता के डेटा को हमें संपादन के लिए फॉर्म में दिखाना चाहिए। उदाहरण के लिए, मान लीजिए कि ये उपयोगकर्ता का नाम और उपनाम हैं:

html<form action="" method="POST">
  <input name="name" value="<?= $user['name'] ?>">
  <input name="surname" value="<?= $user['surname'] ?>">
  <input type="submit" name="submit">
</form>

फॉर्म सबमिट बटन दबाने के बाद हमें उपयोगकर्ता को अपडेट करने के लिए क्वेरी करनी चाहिए:

php<?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);
  }
?>
Задание 1

वर्णित व्यक्तिगत खाता लागू करें।