मुझे आश्चर्य है कि तकनीक का उपयोग करते समय उपयोगकर्ताओं को दो बार फॉर्म पोस्ट करने से रोकने के लिए उपयोग की जाने वाली तकनीकों का क्या उपयोग किया जा सकता है और फिर सबमिट करना चुना जाता है?
उदा। मेरे पास regiter.php के अंदर फॉर्म है और register.php के अंदर भी इसे संसाधित करता है।
पहला मैं अन्य फाइल में संसाधित कर सकता हूं उदा। register_process.php और register.php पर रीडायरेक्ट करें, लेकिन फिर मुझे लगभग 20 नए पेज बनाना होगा और बहुत सारे कोड स्थानांतरित करना होगा, मुझे वह विकल्प नहीं चाहिए।
मैं headers
के साथ खेल सकते मुझे नहीं सटीक चाल याद लेकिन उस के साथ कुछ बुरा अनुभव - उपयोगकर्ताओं के लिए यह ताज़ा करने के बाद पृष्ठ पर पुराने डेटा देखा ...
मैं सिर्फ सफलता पर अनुप्रेषित सकता है dummy.php और dummy.php से कूद वापस register.php तो भले ही वे ताज़ा पेज ब्राउज़र नहीं होता फिर से पोस्ट कुछ को, फिर भी इसके खिलाफ उनका इस्तेमाल वापस बटन और ग की रक्षा नहीं करता फिर से पोस्ट हो रहा है, मुझे पता है कि मैं पेज की समयसीमा समाप्त कर सकता हूं, लेकिन मुझे लगता है कि मेरे लिए और शायद अन्य उपयोगकर्ताओं को पेज की समयसीमा त्रुटि देखने के लिए परेशान अनुभव।
उपयोग एक बार लोड पेज कि फार्म के साथ पोस्ट और एक बार इस्तेमाल पुन: उपयोग नहीं किया जा सकता है प्रत्येक फार्म के लिए कुछ अद्वितीय "पहुँच कुंजी", हालांकि मैं एक तरह से उस सुविधा का लॉजिक्स के साथ संघर्ष। कैसे पता चलेगा कि इसे MySQL डीबी में संग्रहीत किए बिना इस्तेमाल किया गया था, मुझे लगता है कि टाइम आधारित एक्सेसिशन बहुत अच्छा नहीं है क्योंकि कुछ उपयोगकर्ता पृष्ठ खोलने और फॉर्म सबमिट करने के बीच लंबे समय तक ले सकते हैं।
मुझे उपयोगकर्ताओं को फ़ॉर्म को फिर से प्रस्तुत करने से बचने के लिए और सुझावों की आवश्यकता है।
मैं ऐसी ही कुछ किया था, हालांकि कोड के अधिक लाइनों :) इस्तेमाल किया समस्या कि क्या उन्होंने फ़ॉर्म सबमिट करने से पहले पेज को ताज़ा है, '$ _SESSION [ 'POSTDATA']' वहाँ अब और पी.एस. नहीं होगा 'Strcasecmp ($ _ सर्वर ['REQUEST_METHOD']," POST ") का उपयोग करने के किसी भी फायदे' '_SERVER ['REQUEST_METHOD'] ==" POST "' के बजाय '? –