无法使用 JInput 将文件名保存到数据库中

问题描述 投票:0回答:1

我有一个带有文本和文件类型输入字段的表单。我遇到的问题是文件名未保存在数据库中,但其他所有内容都保存在数据库中。我对 $myForm 进行了 vardump,除了文件之外的所有内容都在那里,因此我使用文件名创建了另一个数组并将其与 $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();
    }
php joomla save joomla2.5 jform
1个回答
0
投票

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

相反,请使用

$jinput->get('jform', null, 'raw');



这仍然会应用一些验证,但应该保持你的价值观完整。

© www.soinside.com 2019 - 2024. All rights reserved.