फ़ॉर्म और अनुरोध विधियों का उपयोग करके नए नोट बनाने के अनुवर्ती के रूप में, अब हम यह पता लगाएंगे कि PATCH अनुरोध विधि का उपयोग करके डेटाबेस में मौजूदा नोट्स को कैसे संपादित और अपडेट किया जाए।
जब कोई उपयोगकर्ता किसी नोट को संपादित करना चाहता है, तो हमें उन्हें संपादन स्क्रीन तक पहुंचने का एक तरीका प्रदान करना होगा। यहीं पर संपादन बटन आता है।
सबसे पहले, हमें फ़ाइल से डिलीट बटन कोड को हटाकर show.view.php में सिंगल नोट स्क्रीन पर नोट के नीचे एक एडिट बटन जोड़ना होगा। यह बटन उपयोगकर्ता को संपादन स्क्रीन पर ले जाएगा।
संपादन बटन नोट प्रदर्शन पृष्ठ के पादलेख अनुभाग में रखा गया है। जब क्लिक किया जाता है, तो यह यूआरएल में एक पैरामीटर के रूप में नोट आईडी पास करते हुए उपयोगकर्ता को संपादन स्क्रीन पर रीडायरेक्ट करता है।
edit.php फ़ाइल संपादन प्रक्रिया को नियंत्रित करती है। यह डेटाबेस से नोट को पुनः प्राप्त करता है और उपयोगकर्ता को नोट को संपादित करने के लिए अधिकृत करता है। यदि उपयोगकर्ता अधिकृत है, तो संपादन स्क्रीन प्रदर्शित होती है, जिससे उपयोगकर्ता नोट में बदलाव कर सकता है।
query('select * from notes where id = :id', [ 'id' => $_GET['id'] ])->findOrFail(); authorize($note['user_id'] === $currentUserId); view("notes/edit.view.php", [ 'heading' => 'Edit Note', 'errors' => [], 'note' => $note ]);
edit.php फ़ाइल डेटाबेस से नोट पुनर्प्राप्त करने के लिए डेटाबेस क्लास का उपयोग करती है। इसके बाद यह जांचता है कि क्या उपयोगकर्ता user_id की currentuserID से तुलना करके नोट को संपादित करने के लिए अधिकृत है। यदि अधिकृत है, तो संपादन स्क्रीन प्रदर्शित होती है।
edit.view.php फ़ाइल में संपादन के लिए नोट बॉडी प्रदर्शित करने के लिए कोड होता है, जिसमें दो बटन होते हैं: अपडेट करें और रद्द करें।
अपडेट बटन: अपडेटेड नोट को सर्वर पर सबमिट करता है और इसे डेटाबेस में संग्रहीत करता है
रद्द करें बटन: संपादन प्रक्रिया को रद्द करता है और उपयोगकर्ता को नोट्स स्क्रीन पर वापस रीडायरेक्ट करता है।
= $errors['body'] ?>
संपादन नोट दृश्य नोट के मुख्य भाग को टेक्स्ट क्षेत्र में प्रदर्शित करता है, जिससे उपयोगकर्ता परिवर्तन कर सकता है। अपडेट बटन अपडेटेड नोट को सर्वर पर सबमिट करता है और डेटाबेस में संग्रहीत करता है।
किसी नोट को अपडेट करने के लिए, हमें update.php नामक एक नई फ़ाइल बनाने की आवश्यकता है जो नोट की मान्यता की जांच करती है और उपयोगकर्ता के प्राधिकरण की भी जांच करती है। यह फ़ाइल केवल अधिकृत उपयोगकर्ताओं को डेटाबेस में पहले से मौजूद नोट्स को देखने और संपादित करने की अनुमति देगी।
query('select * from notes where id = :id', [ 'id' => $_POST['id'] ])->findOrFail(); // Check authorization authorize($note['user_id'] === $currentUserId); // Check validation $errors = []; if (!Validator::string($_POST['body'], 1, 100000)) { $errors['body'] = 'A body of no more than 1,000 characters is required.'; } // if no validation errors, then update if (count($errors)) { return view('notes/edit.view.php', [ 'heading' => 'Edit Note', 'errors' => $errors, 'note' => $note ]); } $db->query('update notes set body = :body where id = :id', [ 'id' => $_POST['id'], 'body' => $_POST['body'] ]); // redirect the user header('location: /notes'); die();
नोट्स के संपादन और अद्यतन को सक्षम करने के लिए, हमें रूट.php में निम्नलिखित रूट जोड़ने होंगे:
$router->get('/note/edit', 'controllers/notes/edit.php'); $router->patch('/note', 'controllers/notes/update.php');
ये मार्ग PATCH अनुरोध पद्धति का उपयोग करके नोट्स के संपादन और अद्यतन को सक्षम करेंगे।
जब कोई उपयोगकर्ता किसी नोट को संपादित करना चाहता है, तो उपयोगकर्ता को संपादन स्क्रीन पर ले जाया जाएगा जहां उपयोगकर्ता नोट में बदलाव कर सकता है। जब कोई उपयोगकर्ता परिवर्तन सबमिट करता है, तो update.php फ़ाइल को कॉल किया जाएगा। यह फ़ाइल जाँच करेगी कि क्या उपयोगकर्ता नोट को संपादित करने के लिए अधिकृत है और क्या नोट का सत्यापन सही है। यदि दोनों चेक पास हो जाते हैं, तो नोट को डेटाबेस में अपडेट कर दिया जाएगा और उपयोगकर्ता को नोट्स स्क्रीन पर वापस भेज दिया जाएगा। यदि कोई भी चेक विफल हो जाता है, तो उपयोगकर्ता को त्रुटि संदेशों के साथ संपादन स्क्रीन पर वापस भेज दिया जाएगा।
इन चरणों का पालन करके उपयोगकर्ता PATCH अनुरोध विधि का उपयोग करके नोट को आसानी से संपादित और अपडेट कर सकता है।
मुझे आशा है कि आप इसे स्पष्ट रूप से समझ गए होंगे।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3