2010-12-10 15 views
5

मेरे पास एक साधारण HTML फ़ॉर्म है, जो एक PHP स्क्रिप्ट को पोस्ट अनुरोध भेज रहा है। आईई 8 में, फॉर्म केवल अंतःक्रियात्मक रूप से काम करता है - अधिकांश समय PHP स्क्रिप्ट एक खाली $ _POST चर देखता है।

यहाँ मेरी कोड है:

<html> 
<head> 
<title>Post test</title> 
</head> 
<body style="text-align: center;"> 
<?php 

echo "<pre>".print_r($_POST, TRUE)."</pre>"; 

?> 
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> 
<input type="text" name="name"> 
<input type="hidden" name="hidden" value="moo" > 
<input type="submit" value="Search" > 
</form> 
</body> 
</html> 

कभी कभी print_r प्रतिक्रिया आप उम्मीद थी (यानी यह प्रपत्र से डेटा के साथ आबादी है) देता है, समय की सबसे यह खाली है।

पोस्ट का उपयोग करने में सक्षम नहीं है वेब अनुप्रयोगों के लिए एक समस्या है - किसी को भी कोई विचार है कि क्या हो रहा है, और इसे कैसे ठीक किया जाए?

+0

इस पूरी स्क्रिप्ट है: चारों ओर, जब तक एक ठीक अगले अद्यतन में जोड़ा जाता है, के रूप में यहाँ वर्णित काम किया जा सकता है? –

+0

मैं इसे पुन: उत्पन्न नहीं कर सकता। मैं यहाँ 30 सेकंड के लिए बटन पर क्लिक कर बैठा हूं और कभी भी एक पोस्ट ड्रॉप नहीं देखा है। क्या आप सुनिश्चित हैं कि आपकी आईई सेटिंग्स या इंटरनेट कनेक्शन में कोई समस्या नहीं है? – AgentConundrum

+0

क्या आप वाकई पोस्ट-बैक कर रहे हैं और यह सिर्फ आईई 8 ही विशिष्ट नहीं है, जिसमें सबमिट बटन को सबमिट करने के रूप में स्वीकार नहीं किया जा रहा है? (उदाहरण के लिए http://stackoverflow.com/questions/964734/hitting-enter-does-not-post-form-in-ie8 और http://stackoverflow.com/questions/3631949/ie8-only-submits-with- बटन-न सबमिट करें) - लोगों को देखने के लिए http://stackoverflow.com/questions/2383190/ie8-form-not-submitting-intermittent –

उत्तर

2

इस पर wading के लिए सभी को धन्यवाद।

यह एक अपाचे मॉड्यूल में समस्या को हल करता है जो मैंने सक्षम किया था।mod_auth_sspi

प्रभाव मॉड्यूल में, एक ज्ञात बग के कारण होता है, लेकिन एक साधारण अतिरिक्त निर्देश के साथ इस कर सकते हैं -

यह अपाचे Windows प्रमाणीकरण का उपयोग करने के लिए अपने Windows उपयोगकर्ता आईडी के माध्यम से एक उपयोगकर्ता की पहचान करने की अनुमति के लिए एक मॉड्यूल है

http://sourceforge.net/projects/mod-auth-sspi/forums/forum/550583/topic/3392037

1

यह बहुत ही विचित्र लगता है। क्या यह आईई के अन्य संस्करणों में भी होता है?

मैं आपको बता सकता नहीं कि समस्या क्या है, लेकिन यह इस प्रकार का निदान करने पर मेरे सुझाव हैं:

  1. प्रिंट $_REQUEST बल्कि सिर्फ $_POST से, अगर डेटा एक और के माध्यम से में आ रहा है देखने के लिए तरीका।

  2. ब्राउज़र द्वारा वास्तव में क्या भेजा जा रहा है, यह ट्रैक करने के लिए Fiddler या Wireshark जैसे टूल का उपयोग करें।

फ़िडलर विशेष रूप से कई बार (मुख्य रूप से जब अजाक्स debugging कोड) मेरे लिए बहुत उपयोगी है, और आपको बता देंगे कि वास्तव में क्या ब्राउज़र द्वारा तैनात थे। यदि आपका वेब सर्वर लोकलहोस्ट है, तो आप फिडलर का भी उपयोग कर सकते हैं ताकि PHP को इसके हाथों से पहले प्राप्त होने से पहले प्राप्त किया जा सके। यदि नहीं, तो आप सर्वर पर वायरशर्क का उपयोग कर सकते हैं यदि आपके पास उस तरह की चीज़ स्थापित करने की अनुमति है।

फिडलर के अलावा, मैंने फ़ायरबग जैसे ब्राउज़र-आधारित टूल का सुझाव दिया होगा, लेकिन मुझे आईई के लिए एक के बारे में पता नहीं है जो पर्याप्त है (आईई देव टूलबार आपको अनुरोध और प्रतिक्रिया का विवरण नहीं देता है डेटा, जहां तक ​​मुझे पता है)।

+0

आप आईई में फायरबग लाइट का उपयोग कर सकते हैं, लेकिन मुझे यकीन नहीं है कि यह यहां कितना अच्छा होगा। – AgentConundrum

+0

धन्यवाद स्पडली - मैं फिडलर को यह देखने के लिए कोशिश करूंगा कि यह कुछ भी बताता है या नहीं। यह कुछ दिनों के लिए होगा, क्योंकि मैं सप्ताहांत के लिए घर हूं - इस जगह को देखें। – Hippyjim

0

मुझे संदेह है कि जब स्क्रिप्ट आपको बता रही है कि $ _POST खाली है, तो आप वास्तव में फॉर्म पोस्ट नहीं करते थे। आप के बाद print($_SERVER['REQUEST_METHOD']); जोड़कर जांच कर सकते हैं अपने print_r($_POST);

+0

मैंने पहले से ही ऐसा किया है, और request_method विधि को "पोस्ट" के रूप में रिपोर्ट करता है - हालांकि सुझाव के लिए धन्यवाद। – Hippyjim

+0

फिर ऐसा लगता है कि कुछ बुरा चल रहा है। विंडोज़ को दोबारा सुधारें और पुनर्स्थापित करें? क्या यह अभी भी परंपरागत तरीका है? –

+0

सचमुच, मैं लिनक्स को दोबारा स्थापित और स्थापित करता हूं, लेकिन हमारे आईटी लोग गैर एम $ के बारे में परेशान हो जाते हैं। बाहर निकलता है हम इस के लिए श्री गेट्स को दोष नहीं दे सकते! – Hippyjim

0

आप एक फ़ाइल समय (यानी एक फ़ाइल इनपुट के साथ) के कुछ पोस्ट कर रहे हैं, तो सुनिश्चित करें कि आप अपने <form> तत्व में enctype="multipart/form-data" सेट किया है।

+0

कोई फाइल शामिल नहीं है, लेकिन सूचक के लिए धन्यवाद। – Hippyjim

0

क्या आपने जेनरेट की गई एचटीएमएल की जांच की है? क्या यह संभव है कि echo $_SERVER['PHP_SELF'] आपके द्वारा किए जाने वाले आउटपुट का उत्पादन नहीं कर रहा है, जो फॉर्म HTML को गड़बड़ कर देता है, जो पोस्ट को गड़बड़ कर देता है?

+0

धन्यवाद - मैंने चेक किया था, लेकिन अगर वे $ _POST के साथ समस्याएं देख रहे हैं तो दूसरों के लिए ध्यान देने योग्य है – Hippyjim