2011-05-25 13 views
6

मैं निम्न URLकैसे HTTP क्वेरी स्ट्रिंग

http://www.example.com/node/add/forum/3?gids[]=13 

मैं अपने मॉड्यूल के भीतर से मूल्य 13 प्राप्त करना चाहते है से पैरामीटर को पढ़ने के लिए।

मैं

$_GET['gid[]'] 

साथ और

$_GET['gids%5B%5D'] 

साथ की कोशिश की है लेकिन मैं हमेशा null मिलता है।

मैं यह कैसे कर सकता हूं? धन्यवाद

+0

क्या आपने print_r ($ _ GET ['gids'] की कोशिश की थी; ? या echo $ _GET ['gids'] [1]; ? – Chumillas

+0

... या, अधिक आम तौर पर, print_r ($ _ REQUEST) ओपी के बारे में अनिश्चित है कि उस क्वेरी पैरामीटर का नाम कैसे दिया जाएगा। इस मामले में, जो के पास नीचे जवाब है: वे स्वचालित रूप से 'gids' नामक सरणी में डाल दिए जाते हैं। – Hound

+0

@Chumillas: मैंने नहीं किया है। लेकिन [जो का जवाब] (http://stackoverflow.com/questions/6126795/how-to-read-parameter-from-the-http-query-string/6126877#6126877) मुझे सही दिशा में डाल दिया। धन्यवाद। – MarcoS

उत्तर

7

यूआरएल मानते हुए सही ढंग से एन्कोड किया गया है (ग्रिड% 5 बी% 5 डी) और यह सरणी में एकमात्र तत्व है, तो ग्रिड में उस पहले तत्व की सामग्री $_GET['gids'][0] में होगी।

+0

धन्यवाद: वह था !!! एक और सवाल: आप लिखते हैं "ड्रूपल के पास क्वेरी स्ट्रिंग को संभालने का अपना तरीका है", और क्या आप जानते हैं कि मैं इसके बारे में कहां पढ़ सकता हूं? मैंने खोज की है लेकिन इस विषय पर दस्तावेज नहीं मिला। उपयोगी दस्तावेज़ीकरण के लिए कोई भी लिंक अत्यधिक सराहना की है। – MarcoS

+0

क्षमा करें, मैं 'arg()' के बारे में सोच रहा था, जो केवल पथ क्वेरी स्ट्रिंग वेरिएबल ('$ _GET ['q']') से संबंधित है। सभी '$ _GET' चर से निपटने के बारे में थोड़ा सा हटाने के लिए अपडेट किया गया। – Dan

+0

यदि आप इसका उपयोग करते हैं, तो आपको इनपुट साफ़ करना होगा या आपने अपनी साइट में एक एक्सएसएस सुरक्षा छेद खोला है। – Brady

3

पीएचपी 5.2 + में, प्राप्त और पोस्ट चर पढ़ने के लिए filter_input() का उपयोग करें:

$gids = filter_input(INPUT_GET, 'gids', FILTER_DEFAULT, FILTER_FORCE_ARRAY | FILTER_FORCE_ARRAY); 
+0

धन्यवाद! यह भविष्य में उपयोगी हो सकता है। मेरे वर्तमान उद्देश्यों के लिए, [जो का जवाब] (http://stackoverflow.com/questions/6126795/how-to-read-parameter-from-the-http-query-string/6126877#6126877) ने नौकरी की। – MarcoS

4

के बाद से इस कीवर्ड "Drupal" के साथ टैग और Google खोजों पर आता है। ऐसा करने का ड्रूपल 7 तरीका और इसे आसान बनाता है drupal_get_query_parameters() का उपयोग करना। यह एक बार में क्वेरी स्ट्रिंग से सभी चर और मानों की एक सहयोगी सरणी वापस कर देगा।

इसका उपयोग करके, जब आप यूआरएल से आने वाली जानकारी को स्टोर करते हैं तो इसे एक्सएसएस और एसक्यूएलआई हमलों के लिए स्वच्छ किया गया है।

+0

मुझे लगता है कि यह स्वीकार्य उत्तर होना चाहिए क्योंकि यह ड्रूपल तरीका है। – ionize

संबंधित मुद्दे