2013-05-03 12 views
6
<form> 
<input type="checkbox" name="item[]" value="1" /> 
<input type="checkbox" name="item[]" value="2" /> 
<input type="checkbox" name="item[]" value="3" /> 
</form> 
<?php 
$app = JFactory::getApplication(); 
$items = $_POST['type']; // This works but is not Joomla wise... 

$items = $app->input->getArray(array('type_ids')); // Tried multiple ways but can't get it to work. 
?> 

में सभी सरणी वस्तुओं को लोड करने का सही तरीका क्या होना चाहिए?जूमला (2.5/3.x)

+0

क्यों उपयोग नहीं चेक बॉक्स टाइप यदि आप सरणी चाहते हैं? – Elin

उत्तर

1

विरासत का उपयोग कर निम्नलिखित कोड काम करता है (संस्करण 3.3) घटकों के लिए:

$jinput = JFactory::getApplication()->input; 
$data2 = $jinput->post->getArray(array()); 
var_dump($data2); 
7

तुम सिर्फ सभी वस्तुओं चाहते हैं, जूमला तरीका होगा:

$items = JRequest::getVar('item', array()); 

जहां दूसरा पैरामीटर अपने डिफ़ॉल्ट मान हो सकता है अगर 'आइटम' सेट नहीं है। लेकिन ध्यान दें कि यह सामान्य रूप से नाम के माध्यम से पैरा को लाता है।

एक ही जूमला मंच 11.1 का उपयोग कर और ऊपर होगा:

$items = $app->input->get('item', array(), 'ARRAY'); 

यहाँ तीसरे पैरामीटर के लिए आवश्यक है के बाद से डिफ़ॉल्ट फ़िल्टर 'cmd' है जो सरणियों अनुमति नहीं है। More information in the docs

+0

अच्छा, नहीं! ARRAY केवल यह सुनिश्चित करेगा कि आपको एक वैध PHP सरणी वस्तु मिल जाएगी। लेकिन यह वास्तव में इनपुट को साफ नहीं करता है। आपको इसे अलग से करने की ज़रूरत है। –

4

यदि आप फॉर्म बनाने के लिए JForm का उपयोग कर रहे हैं, तो आपको jform array से पोस्ट किए गए डेटा को निकालने की आवश्यकता है।

देशी 3.x घटकों कोड की तरह नियंत्रक के अंदर दिखेगा के लिए:

// Get POSTed data 
    $data = $this->input->post->get('jform', array(), 'array'); 

जहां $this->input इनपुट वस्तु, JControllerBase से विरासत में मिली है।

विरासत MVC कक्षाएं का उपयोग कर घटकों के लिए, कोड होगा:

// Get input object 
    $jinput = JFactory::getApplication()->input; 

    // Get posted data 
    $data = $jinput->post->get('jform', array(), 'array'); 

सुरक्षा सूचना:

ARRAY - प्रयास एक सरणी के लिए इनपुट कन्वर्ट करने के लिए।

$result = (array) $source; 

डेटा सरणी स्वयं ही संचरित नहीं है।

+0

दस्तावेज़ों के किसी भी लिंक की अत्यधिक सराहना की जाती है। –

+0

http://docs.joomla.org/Retrieving_request_data_using_JInput –

+0

लॉल, जो मेरा मतलब नहीं था (धन्यवाद हालांकि), यह स्पष्ट था [http://bit.ly/1dyYYiA], लेकिन मेरा मतलब था 'के लिए मूल 3.x घटक 'भाग, ऐसा कोई उल्लेख नहीं है .. –