2011-08-02 15 views
5

मेरे पास एक फ़ाइल में एक फॉर्म है जिसे मैं विधि पोस्ट का उपयोग करके सबमिट करता हूं। फ़ाइल में फॉर्म एक्शन में, मैं $_SERVER['REQUEST_METHOD'] === 'POST' का उपयोग करता हूं, लेकिन $_SERVER['REQUEST_METHOD'] का एक var डंप कर रहा है 'GET' दिखाता है।PHP सर्वर अनुरोध विधि

कोई विचार यह कैसे हो सकता है? तथ्य यह है कि अपनी पोस्टिंग में ही वापस करने के लिए और मूल रूप से एक प्राप्त क्वेरी के साथ भरी हुई की वजह से

<iframe src="targetfile.php?id=30"> 
    <form method="post" action="targetfile.php" target="credit_results"> 
     <input type="hidden" name="pid" id="hidden_pid" value="30" /> 
     <input type="text" class="std_grey" name="first_name_info" id="first_name_info"/> 
    </form> 
    <iframe name="credit_results" id="credit_results" scrolling="no" frameborder="0" width="960" height="1200"></iframe> 
</iframe> 
+0

चेक अगर आपके पास दोनों प्राप्त और पोस्ट मूल्यों (आप भी iframe में एक प्राप्त परम पारित) । मैंने iframes के साथ बहुत कुछ काम नहीं किया है ... –

+0

क्या var_dump() iframe पहली बार लोड होने पर 'GET' दिखा रहा है, जैसा कि अपेक्षित होना चाहिए, और लॉग में कुछ कैसे फॉर्म को स्वयं वापस सबमिट किया जाता है? –

+0

'targetfile.php' दोनों जीईटी और पोस्ट संदर्भों में उपयोग किया जा रहा है। आईफ्रेम फ़ाइल के साथ जीईटी के साथ अनुरोध कर रहा है लेकिन यह भी खुद को प्रस्तुत करता है। क्या आप अपना कोड दिखा सकते हैं? –

उत्तर

3

क्योंकि targetfile.php दोनों प्राप्त और पोस्ट हो रही है: प्रपत्र तो कोड कुछ इस तरह दिखता src = 'targetfile.php?id=30' साथ iframe के भीतर है , मैं REQUEST_METHOD के बजाय विशिष्ट $ _POST चर के लिए जांचने के लिए अपने PHP को बदलने की अनुशंसा करता हूं।

var_dump($_POST); डीबग करने के लिए चीज़ें दिखाना चाहिए।

वास्तविक उपयोग

if(!isset($_POST['varYouNeed'])) die('Missing varYouNeed variable'); 
+0

यही वह है जो मैंने सोचा था लेकिन $ _POST वैरिएबल खाली वापस आ रहा है –

+0

आईफ्रेम पहले लोड होने पर $ _POST चर खाली है और जब फॉर्म स्वयं को वापस सबमिट करता है? क्या आप आइफ्रेम और फॉर्म से हमें अधिक HTML दिखा सकते हैं? –

+0

हाँ दोनों मामलों में जीईटी वैरिएबल दिखाया गया है लेकिन फॉर्म –

-2

परिवर्तन के लिए:

$_SERVER['REQUEST_METHOD'] === 'POST' 

को
$_SERVER['REQUEST_METHOD'] == 'POST' 
संबंधित मुद्दे