2

我有一个带有文本和文件类型输入字段的表单。我有一个文件名没有保存在数据库中的问题,但其他一切都保存了。我 vardumped $myForm 并且除了文件之外的所有东西都在那里,所以我用文件名创建了另一个数组并将它与 $myForm 合并。然后我尝试将其设置为“jform”,但它似乎不起作用。有人对为什么有任何想法吗?谢谢!

控制器.php

 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();
    }
4

1 回答 1

0

不要使用$_POST 除非您打算编写大量验证代码来保护用户输入。

相反,使用$jinput->get('jform', null, 'raw');

这仍将应用一些验证,但应保持您的值不变。

于 2013-07-31T05:23:42.647 回答