Joomla Can';t使用JInput将文件名保存到数据库中
我有一个带有文本和文件类型输入字段的表单。我有一个问题,文件名没有保存在数据库中,但其他的都保存在数据库中。我转储了$myForm,所有的东西都在那里,除了文件,所以我用文件名创建了另一个数组,并将其与$myForm合并。然后我尝试将它设置为“jform”,但它似乎不起作用。有人知道为什么吗?谢谢 controller.phpJoomla Can';t使用JInput将文件名保存到数据库中,joomla,save,joomla2.5,jinput,jform,Joomla,Save,Joomla2.5,Jinput,Jform,我有一个带有文本和文件类型输入字段的表单。我有一个问题,文件名没有保存在数据库中,但其他的都保存在数据库中。我转储了$myForm,所有的东西都在那里,除了文件,所以我用文件名创建了另一个数组,并将其与$myForm合并。然后我尝试将它设置为“jform”,但它似乎不起作用。有人知道为什么吗?谢谢 controller.php function save() { $jinput = JFactory::getApplication()->input;
function save()
{
$jinput = JFactory::getApplication()->input;
$myForm = $jinput->get('jform', null, 'array');
//$files = $jinput->files->get('jform');
$file_array = ['image1' => 'test.png',
'image2' => 'test2.png'];
$merged_array = array_merge($myForm, $file_array);
$jinput->set('jform',$merged_array);
//or $jinput->post->set('jform',$merged_array); (this doesn't work either)
return parent::save();
}
除非您计划编写大量验证代码以保护用户输入,否则不要使用$\u POST 相反,使用
$jinput->get('jform',null,'raw')代码>
这仍将应用一些验证,但应保持您的价值观的圆滑。这可能会有所帮助-谢谢!最后使用了$\u POST['jform']=$merged\u数组;