Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 代码点火器表单信息_Php_Forms_Codeigniter_Validation - Fatal编程技术网

Php 代码点火器表单信息

Php 代码点火器表单信息,php,forms,codeigniter,validation,Php,Forms,Codeigniter,Validation,我有一个带有add()函数和create()函数的控制器。添加要创建的帖子功能 表单将使用表单辅助对象显示。在add()函数中,我有一个数组来设置表单输入属性,如下所示: $this->data['form'] = array( 'label_attributes' => array( 'class' => 'col-lg-2 control-label' ), 'media_name' => arr

我有一个带有add()函数和create()函数的控制器。添加要创建的帖子功能

表单将使用表单辅助对象显示。在add()函数中,我有一个数组来设置表单输入属性,如下所示:

$this->data['form'] = array(
        'label_attributes' => array(
            'class' => 'col-lg-2 control-label'
        ),
        'media_name' => array(
            'class' => 'form-control',
            'id'    => 'media_name',
            'name'  => 'media_name',
            'value' => set_value('media_name')
        ),
        'media_link' => array(
            'class' => 'form-control',
            'id'    => 'media_link',
            'name'  => 'media_link',
            'value' => set_value('media_link')
        ),
        'media_width' => array(
            'class' => 'form-control',
            'id'    => 'media_width',
            'name'  => 'media_width',
            'size'  => '4',
            'maxlength' => '4',
            'value' => ($this->form_validation->set_value('media_width')) ? $this->form_validation->set_value('media_width') : '640'
        ),
        'media_height' => array(
            'class' => 'form-control',
            'id'    => 'media_height',
            'name'  => 'media_height',
            'value' => ($this->form_validation->set_value('media_height')) ? $this->form_validation->set_value('media_height') : '360'
        ),
        'media_description' => array(
            'class' => 'form-control',
            'id'    => 'media_desription',
            'name'  => 'media_desription',
            'value' => $this->form_validation->set_value('media_desription')
        )
    );

当我发布到create()函数时,我将无法访问数据['form']值。所有这些信息都应该放在视图中,还是可以放在模型中,以便在需要时加载?当我试图将其放入模型中时,即使我在模型中加载了form_验证库,“value”属性也会出现问题

因为控制器类是在新请求到来时更新的,所以代码的问题是,$this->数据是在访问add函数时创建的,而当您发布到create函数时,控制器类是再次更新的,此时根本没有$this->数据

如果要将数据从一个请求传递到另一个请求,可以通过视图或模型传递数据


希望有帮助

如果验证失败,我从控制器运行$this->add(),返回add()函数。这可以工作并显示错误,但是,URI是stays/create,我希望它返回到/add/创建应该只用于发布。我知道它正在更新,所以它会消失。我不确定将其传递给视图或模型的确切含义。我的问题似乎主要是,如果表单没有进行验证,如何返回add()函数和URI?My create()函数不应呈现视图或显示在浏览器地址栏中。也许您可以将数据存储在会话中您可以将
CI\u Controller
扩展到
My\u Controller
并将代码放在那里。这样,您就可以在扩展MY_控制器的任何控制器上拥有
$This->data
。看一看。