2011-08-10 15 views
7

मैं एक रूप है कहो तो $_REQUEST['redirect'] = false होगा?

+0

ऐसा लगता है कि '$ _REQUEST ['रीडायरेक्ट']' * सत्य है। –

+0

मुझे लगता है कि वह वास्तव में वहां अपनी आखिरी पंक्ति में झूठा होना था। वह क्वेरीस्ट्रिंग का उपयोग करना चाहता है, न कि उस मान के लिए फॉर्म डेटा। – mrtsherman

+0

यदि आपका मतलब झूठा है .. '$ _REQUEST ['रीडायरेक्ट'] = $ _GET ['रीडायरेक्ट']' – Josh

उत्तर

11

के आधार पर, php.ini में request_order निर्देश बदल जाते हैं।

डिफ़ॉल्ट मान है:

request_order = "GP" 

पी पोस्ट के लिए खड़ा है और जी प्राप्त के लिए खड़ा है, और बाद में मूल्यों, पूर्वता है तो इस विन्यास में, क्वेरी स्ट्रिंग में एक मूल्य द्वारा पारित एक मूल्य को पार कर जाएगी $_REQUEST सरणी में पोस्ट करें। आप पोस्ट प्राप्त मूल्यों को भी पार करना चाहते हैं, बस उन्हें तो की तरह चारों ओर स्विच:

request_order = "PG" 

आपको लगता है कि प्रभावी करने के लिए वेब सर्वर/php को पुनः आरंभ करने की आवश्यकता होगी।

+2

अपडेट किया गया इसके बजाय 'request_order' का उपयोग करने पर विचार करें। यह समस्या के लिए अधिक विशिष्ट है। – Brad

+0

@ ब्रैड गुड कॉल - मैं इसके उदाहरण के साथ अपना उत्तर अपडेट करूंगा। धन्यवाद! –

+0

अच्छा काम करता है, धन्यवाद! – Maverick

0
$_REQUEST['redirect'] = $_POST['redirect']; 

या

$_REQUEST['redirect'] = $_GET['redirect']; 

आप $_REQUEST सरणी में $_POST से अधिक $_GET की पूर्वता बदलना चाहते हैं कि आप क्या चाहते

2

PHP के request order पैरामीटर देखें (के रूप में ब्रैड सुझाव और अधिक उपयुक्त request_order उपयोग करने के लिए है, न कि variables_order से संपादित)। यहां आप सेट कर सकते हैं कि सरणी पोस्ट, मिल, कुकी या किसी भी कॉम्बो को भरती है या नहीं।

4

PHP.ini में request_order निर्देश देखें।

वास्तव में, आपको स्पष्ट रूप से सुपरग्लोबल का उपयोग करना चाहिए जिसे आप विशेष रूप से चाहते हैं। अन्यथा, आप सिस्टम से सिस्टम तक लगातार व्यवहार पर भरोसा नहीं कर सकते हैं, और फिर आपके चर को गलती से ओवरराइट किया जा सकता है।

+0

आम तौर पर मैं चाहता हूं लेकिन यह मौजूदा क्लाइंट फॉर्म प्रोसेसर के लिए है और वे पहले ही '$ _REQUEST ['रीडायरेक्ट']' से संसाधित कर रहे हैं। +1 हालांकि, धन्यवाद! – Maverick

0

यदि आप देखते है कि अंतिम पंक्ति में false मतलब है, और चाहते हैं $_REQUEST अभी भी दोनों पद से डेटा है और डेटा मिलता है, और है config के साथ गड़बड़ करने के लिए नहीं चाहते हैं, इस का उपयोग करें:

$_REQUEST = array_merge($_POST, $_GET); 
संबंधित मुद्दे