फॉर्म सबमिट करते समय कई इंसर्ट को रोकने के लिए 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) { // less then 2 seconds since last post } else { // more than 2 seconds since last post } } $_SESSION['posttimer'] = time(); }
आउटपुट
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
The unique form submitted data.
पोस्टटाइमर सत्र चर सेट किया गया है और जब अंतिम पोस्ट ऑपरेशन से पहले 2 सेकंड या उससे कम का समय अंतर होता है, तो इसे हटाया जा सकता है। अन्यथा यह संग्रहीत है। टाइम फ़ंक्शन को कॉल किया जाता है और मान पोस्टटाइमर सेशन वेरिएबल को असाइन किया जाता है।