दोहराने फार्म जमा की रोकथाम php सत्र का उपयोग
हम सब कुछ के लिए एक बटन पर क्लिक करें और अधिक से अधिक एक बार या नकारात्मक परिणामों की चेतावनी नहीं वेबसाइटों पर उन संदेशों को देखा है, एक दो बार बिल भुगतान की तरह कर सकते हैं परिणामस्वरूप. कभी कभी हम या वापस मार से इन समस्याओं का कारण बन सकती है ताज़ा करें बटन. इस लेख में मैं एक पद्धति जिसके तहत एक साइट प्रत्येक फार्म सुनिश्चित कर सकते हैं समझाने की केवल एक बार प्रस्तुत है, इस तरह का प्रदर्शन है कि ऐसी चेतावनी अनावश्यक हैं और करेंगे, की प्रकृति पर निर्भर करता है समस्याओं का तत्काल मरम्मत की कीमत का कारण बना. चलो प्रक्रिया हम पढ़ रहे हैं: फार्म प्रस्तुत करने पर एक नज़र लेने के द्वारा शुरू करें. पंडिताऊ के रूप में यह लग सकता है, यह मतलब होगा विस्तार से इस प्रक्रिया में कदम के रूप में प्रत्येक के लिए: आगंतुक सर्वर जो it.Server retrieves फार्म पर एक रूप है और user.User से अनुरोध भेजता है एक पृष्ठ फार्म पर डेटा में प्रवेश करती है और server.Server को पेश फार्म का डेटा और रिटर्न परिणामी पृष्ठ प्रक्रियाओं. परिदृश्य अब हम का विश्लेषण करने की ज़रूरत नहीं है जब उपयोगकर्ता फिर से एक पिछले फार्म जमा करने की प्रक्रिया से चलाता है. क्या हम मिल की जरूरत है या कुछ बनाना है के फार्म जमा करने की प्रक्रिया है जो विशेष पर निर्भर नहीं करता है के दौरान जो परिवर्तन फार्म जमा और जो हम बदल सकते हैं बता रहा है. यह एक वाक्य जो पूरी तरह भरी हुई विवरण हमारे हल था, तो हम उसे तोड़ दिया. ढूँढें या कुछ फार्म जमा करने की प्रक्रिया के दौरान जो बदलाव है, है बना विशिष्ट रूप पर निर्भर नहीं, andwe आइटम जो परिवर्तन changed.Since बता फार्म पर निर्भर नहीं प्रस्तुत कर सकते हैं (यह कोई फर्क नहीं पड़ता उदाहरण प्रस्तुत किया जा रहा अगर यह न्यूजलेटर पंजीकरण फार्म, ग्राहक जा रहा है पंजीकरण फार्म, फार्म का भुगतान, आदि), मद कुछ है जो पहले से ही मौजूद है और इसलिए बनाया जाना चाहिए, नहीं है तो चलो एक फार्म परिवर्तनीय बनाने के नाम submissionId और मान यह 3 उपर्युक्त गुण है. इसलिए अभी तक तो अच्छा है - या तो यह प्रतीत होता है! तीसरा "संपत्ति" यह है कि "हम बता सकते हैं [यह] बदल गया", लेकिन "बदल" एक चर की संपत्ति नहीं है, इसलिए हमें इस पर और अधिक बारीकी से देखने की जरूरत है. हम क्रम में बदल कुछ कहना है, एक संदर्भ बिंदु होगा, सवाल "से बदल का जवाब क्या है?" यह वह जगह है जहाँ एक सत्र चर खेलने में आ जाएगा. यदि हम एक सत्र चर को परिभाषित, $ कहना _SESSION '[nextValidSubmission]' और यह एक के रूप में व्यवहार संदर्भ बिंदु है, हम सभी आवश्यक उपकरण हैं हमारे आगंतुकों रक्षा करेगा. विचार सत्र पिछले submissionId के साथ अद्यतन रखने के चर हो बाहर भेजा और submissionId हर बार यह है बदल जाएगा उपयोगकर्ता के लिए बाहर भेज दिया. फिर, यदि वे डेटा पुनः भेजने के लिये प्रयास करें, वे एक पुराने submissionId जो nextValidSubmission से मेल नहीं खाता जमा हो जाएगा और हम जानते हैं, फिर नहीं प्रक्रिया इस डाटा होगा. इस पर देखें में प्रक्रिया के संदर्भ: आगंतुक अनुरोधों को एक पृष्ठ सर्वर जो it.Server retrieves फार्म पर एक रूप से है, जो एक submissionId नए रूप में एम्बेडेड है, अद्यतन nextValidSubmission उत्पन्न करता है, और के लिए भेजता है user.User फार्म पर डेटा में प्रवेश करती है और server.Server को पेश फार्म का डेटा, परिवर्तन nextValidSubmission, और रिटर्न परिणामी पृष्ठ प्रक्रियाओं. अब, अगर किसी तरह आगंतुक डेटा resends, वे पुराने भेज रहा होगा submissionId जो नए nextValidSubmission मैच नहीं होगा. तो, अब तुम जावास्क्रिप्ट पर भरोसा करने को रोकने के फार्म / निष्क्रिय बटन, मूर्ख चेतावनी संदेश, और परेशान ग्राहकों को हटाने के लिए अलविदा कह सकते हैं फिर स्क्रिप्ट के संदर्भ submission.Webmaster - * नई * PHP संदर्भ और ट्यूटोरियल साइट के लिए गैर-प्रोग्रामर्स अधिक विस्तृत जानकारी के लिए यहाँ देखो, एक PHP का प्रयोग उदाहरण के लिए, और एक वैकल्पिक विधि है जो की आवश्यकता नहीं होती
Article Source: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Webmaster Get Html Code
Add this article to your website now!
Webmaster Submit your Articles
No registration required! Fill in the form and your article is in the Messaggiamo.Com Directory!