PHP में फॉर्म सबमिशन पर मल्टीपल इंसर्ट को रोकना
फॉर्म सबमिट करते समय मल्टीपल इंसर्ट तब हो सकता है जब उपयोगकर्ता सबमिट बटन को कई बार दबाता है। इससे अनपेक्षित डेटा दोहराव हो सकता है। इस समस्या के समाधान के लिए कई दृष्टिकोण हैं:
जावास्क्रिप्ट सबमिट बटन अक्षम करना:
यह विधि सबमिट बटन को अक्षम करने के लिए जावास्क्रिप्ट का उपयोग करती है क्लिक किया. हालाँकि, यह विश्वसनीय नहीं है क्योंकि बटन का उपयोग किए बिना या जावास्क्रिप्ट अक्षम होने पर फॉर्म सबमिट किया जा सकता है।
PHP सत्र टाइमस्टैम्प:
यह दृष्टिकोण फॉर्म जमा करने पर वर्तमान टाइमस्टैम्प पर एक सत्र चर ($_SESSION['posttimer']) सेट करता है। फॉर्म प्रोसेसिंग के दौरान, यह जाँचता है कि वेरिएबल मौजूद है या नहीं और इसकी तुलना वर्तमान टाइमस्टैम्प से करता है। यदि समय का अंतर पूर्वनिर्धारित सीमा (उदाहरण के लिए, 2 सेकंड) से कम है, तो डबल सबमिशन का पता लगाया जाता है।
अद्वितीय टोकन समावेशन:
इस पद्धति में प्रत्येक फॉर्म में एक अद्वितीय टोकन शामिल करना शामिल है। एक सत्र चर प्रपत्र में प्रयुक्त टोकन रखता है। फॉर्म जमा करने पर, एक नया टोकन उत्पन्न होता है। यदि सबमिट किया गया टोकन सत्र टोकन से मेल नहीं खाता है, तो इसे डबल सबमिशन माना जाता है। उदाहरण:
// form.php
$_SESSION['token'] = md5(session_id() . time());
echo '';
// foo.php
if (isset($_SESSION['token'])) {
if (isset($_POST['token']) && $_POST['token'] != $_SESSION['token']) {
// Double submit detected
}
}
इन तरीकों में से किसी एक को लागू करके, आप PHP में फॉर्म सबमिट करते समय एकाधिक प्रविष्टियों को प्रभावी ढंग से रोक सकते हैं, डेटा अखंडता सुनिश्चित कर सकते हैं और अनजाने डुप्लिकेशन से बच सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3