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)
}