PHP सेशन का उपयोग फॉर्म सबमिट करते समय मल्टीपल इन्सर्ट को रोकने के लिए किया जा सकता है। PHP सेशन एक सेशन वेरिएबल सेट करता है (जैसे $_SESSION['posttimer']) जो POST पर वर्तमान टाइमस्टैम्प सेट करता है। PHP में फॉर्म प्रोसेस करने से पहले, $_SESSION['posttimer'] वेरिएबल की जांच की जाती है कि यह मौजूद है या नहीं और एक विशिष्ट टाइमस्टैम्प अंतर (जैसे 2 या 3 सेकंड) के लिए जांच की जाती है। इस तरह, वे इन्सर्शन जो वास्तव में डुप्लिकेट हैं, पहचाने जा सकते हैं और हटाए जा सकते हैं।
सरल फॉर्म:
// form.html
<form action="my_session_file.php" method="post">
<input type="text" name="bar" />
<input type="submit" value="Save">
</form>
उपरोक्त में 'my_session_file.php' का संदर्भ निम्न कोड लाइनों को शामिल करेगा:
उदाहरण
if (isset($_POST) && !empty($_POST)) {
if (isset($_SESSION['posttimer'])) {
if ((time() - $_SESSION['posttimer']) <= 2) {
// अंतिम पोस्ट के बाद 2 सेकंड से कम
} else {
// अंतिम पोस्ट के बाद 2 सेकंड से अधिक
}
}
$_SESSION['posttimer'] = time();
}
आउटपुट
यह निम्न आउटपुट देगा:
अद्वितीय फॉर्म सबमिट किया गया डेटा।
posttimer सेशन वेरिएबल सेट हो जाता है और जब अंतिम POST ऑपरेशन से पहले 2 सेकंड या उससे कम का समय अंतर होता है, तो इसे हटाया जा सकता है। अन्यथा यह संग्रहीत होता है। टाइम फ़ंक्शन को कॉल किया जाता है और मान को posttimer सेशन वेरिएबल को निर्दिष्ट किया जाता है।