// Required objects
$input = JFactory::getApplication()->input;
// Get the form data
$formData = new JRegistry($input->get('jform', '', 'array'));
// Get any data being able to use default values
$id = $formData->get('id', 0);
$name = $formData->get('name', null);
$email = $formData->get('email', null);
Or even better to be able to get sanitized values use a JInput
object:
// Required objects
$input = JFactory::getApplication()->input;
// Get the form data
$formData = new JInput($input->get('jform', '', 'array'));
// Get any data being able to use default values
$id = $formData->getInt('id', 0);
$name = $formData->getWord('name');
$email = $formData->getString('email');
That way we will use the ability of JInput
to get sanitized values directly through JFilterInput
. You can see all the filters available here. JInput
uses the magic method __call
to use them transparently. So if you want to use filter 'BASE64' you can direcly use $formData->getBase64()
, $formData->getAlnum()
for 'ALNUM' filter and so....
In this second example I have removed also the default null values because null is applied by default when no value is passed.