Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 CI控制器函数如何从窗体或其他函数接收数据?_Php_Codeigniter_Post - Fatal编程技术网

Php CI控制器函数如何从窗体或其他函数接收数据?

Php CI控制器函数如何从窗体或其他函数接收数据?,php,codeigniter,post,Php,Codeigniter,Post,在我的控制器中,我创建了一个函数来向数据库插入一行。它从表单接收输入,并将其传递给模型。以下是该控制器功能的简化版本: function add_row() { $name = $this->input->post('name'); $type = $this->input->post('type'); $newRow = array ( "name" => $name, "type" => $type ); $this

在我的控制器中,我创建了一个函数来向数据库插入一行。它从表单接收输入,并将其传递给模型。以下是该控制器功能的简化版本:

function add_row()
{
$name = $this->input->post('name');
$type = $this->input->post('type');
$newRow = array (
        "name" => $name,
        "type" => $type
    );
$this->places_model->addRow($newRow)
}
我还在控制器中创建了另一个函数,该函数执行其他各种操作,并最终得到这两个字段的值。现在我想从控制器中调用相同的add_row函数,但这次传递在另一个函数中生成的两个值


修改add_row函数的最佳方法是什么,以便它能够灵活地从表单接收已发布的值,或从同一控制器中的另一个函数接收已传递的值?

设置了哪些其他post变量,而不是名称或类型?为什么需要修改addRow函数来实现这一点?因为它只是设置为接受一个由两个变量组成的数组,所以让另一个函数(其代码您没有发布)也向addRow()函数传递一个数组。请求直接发送到此函数,而不是先前的函数。
function add_row($name ='', $type ='')
{
   if (!empty($this->input->post())
   {
     $name = $this->input->post('name');
     $type = $this->input->post('type');         
    }
     $newRow = array (
             "name" => $name,
             "type" => $type
            );
    $this->places_model->addRow($newRow)
 }
function add_row($name = NULL, $type = NULL)
{
    if(isset($_POST["name"]) && $name == NULL)
    {
         $name = $this->input->post('name');
    }

    if(isset($_POST["type"]) && $type == NULL)
    {
         $type= $this->input->post('type');
    }

    $newRow = array (
         "name" => $name,
         "type" => $type
    );
    $this->places_model->addRow($newRow)
}