2012-05-21 7 views
6

पर खाली है निम्न फ़ॉर्म IE9 पर खाली $_POST चर का कारण बनता है।

<form id='login' action='login.php' method='POST' accept-charset='UTF-8'> 
<input type='text' name="username" id='username' /> 
<input type='password' name='password' id='password' /> 
<input type="text" name="store" /> 
<input type='submit' name='Submit' value='Submit' /> 
</form> 

फॉर्म फ़ायरफ़ॉक्स और क्रोम पर पूरी तरह से काम करता है। सभी चर $_POST चर में कोई समस्या नहीं दिखाई देते हैं।

आईई 9 पर, हालांकि, फॉर्म ठीक से सबमिट किया गया है, लेकिन $_POST खाली सरणी है। आईई, login.php में:

print_r($_POST); 

खाली सरणी प्रिंट करता है। मैं यह समझने की कोशिश कर रहा हूं कि आईई 9 के बारे में क्या अलग हो सकता है जो इसे फ़ायरफ़ॉक्स और क्रोम से अलग तरीके से व्यवहार कर रहा है और मैं इसे समझ नहीं सकता।

मुझे अपाचे के तहत कुछ मॉड्यूल का उल्लेख मिला है जो लोगों की समस्याएं पैदा कर रहा है, लेकिन मैं IIS7 चला रहा हूं, अपाचे नहीं, इसलिए ऐसा नहीं है। रुबी फोरम पर किसी ने रजिस्ट्री में एक DisableNTLMPreAuth को सेट करने का उल्लेख किया है, लेकिन उसने इसे ठीक नहीं किया है।

किसी भी मदद की सराहना की जाती है।

+0

स्वयं को कार्रवाई करने और print_r करने का प्रयास करने का प्रयास करें। या login.php क्या आप हमें दिखा रहे हैं? –

+1

क्या आपने phpinfo() को आउटपुट करने का प्रयास किया है? यह देखना दिलचस्प होगा कि अनुरोध अनुरोधों में से कोई भी पॉप्युलेट कर रहा है या नहीं। उदाहरण के लिए, $ _REQUEST –

+5

IE पर डेवलपर-कंसोल खोलें (F12 दबाकर) और नेटवर्क-टैब पर स्विच करें। अब अपना फॉर्म जमा करें और दिखाए गए अनुरोध पर एक नज़र डालें: क्या उल्लिखित पोस्ट-वैल्यू हैं (जिसका मतलब है कि आप समस्या सर्वर-साइड हैं) या वे गायब हैं (समस्या क्लाइंट-साइड है)। – oezi

उत्तर

-1

कृपया फॉर्म के लिए "नाम" विशेषता दर्ज करें।

<form id='login' name='login' action='login.php' method='POST' accept-charset='UTF-8'> 
<input type='text' name="username" id='username' /> 
<input type='password' name='password' id='password' /> 
<input type="text" name="store" /> 
<input type='submit' name='Submit' value='Submit' /> 
</form> 
-1

कारण यह है कि आप सत्र को बनाए नहीं रख रहे हैं। फ़ायरफ़ॉक्स और क्रोम में बहुत स्मार्ट हैं और वे कोड के विकास के बावजूद सत्र बनाए रखते हैं, जो उपयोगकर्ताओं को अच्छी चीजें देता है। लेकिन आईई 6-9 में, आईई सत्र को बनाए नहीं रख सकता है, डेवलपर को इसकी जांच करनी है और यदि सत्र को बनाए रखा नहीं जाता है तो लोड किया गया प्रत्येक पृष्ठ एक नया सत्र है और इस प्रकार कोई पोस्ट नहीं है।

0

मुझे लगता है कि यह एक डबल हिट के साथ करना है - यानी कि आईई किसी भी तरह से पृष्ठ को दोबारा लोड कर रहा है। क्या आपके पास कुछ क्लाइंट साइड स्टफ (jQuery?) है जो पृष्ठ को दुर्घटना से एक बग के रूप में पुनः लोड करता है? पूरी तरह से नए पृष्ठ पर पोस्ट करने और शीर्ष पंक्ति पर <?PHP die ('<pre>'.print_r($_REQUEST,true).'</pre>');?> लिखने और क्या होता है यह देखने का प्रयास करें।

1

स्वीकृति-वर्णसेट इंटरनेट एक्सप्लोरर में समर्थन नहीं है। इसे हटाएं और देखें कि क्या हल हो जाता है कि आप समस्या हैं।