public function addcategory() {
$this->load->model('product_model');
$new_category = $this->product_model->add_category($this->input->post());
if ($new_category) {
$info = array(
'message' => 'Data Saved sucess',
'value' => TRUE
);
$this->index($info);//not working
}
$this->index($info);//working without $info
}
这里我需要在$this->index($info);
内调用if(){}
但是它无效...但是当我把这个代码放在if()之外它可以工作但我不能通过$info
变量通过$this->index($info);
我在$this->index($info);
侧调用函数(if
),然后根本不起作用。但是,如果我使用if
之外的函数来调用它,但会出现错误' Undefined index:info'。
如何调用index()
函数??
答案 0 :(得分:1)
声明if语句之外的$ info应该有效。 然后在语句外使用索引函数。
public function addcategory() {
$info = null;
$this->load->model('product_model');
$new_category = $this->product_model->add_category($this->input->post());
if ($new_category) {
$info = array(
'message' => 'Data Saved sucess',
'value' => TRUE
);
}
$this->index($info);//working without $info
}
答案 1 :(得分:0)
解决方案1:
您可以使用Redirect方法重定向索引:
$this->session->set_flashdata('info', $info);
redirect('/controller_name/index');
获取索引方法的信息:
$info = $this->session->flashdata('info');
<强>溶液2:强>
将此重映射功能添加到控制器:
public function _remap($method)
{
if ($method == 'some_method')
{
$this->$method();
}
else
{
$this->index();
}
}
答案 2 :(得分:0)
你的if语句没有对变量$ new_category做任何事情 尝试。
if (isset($new_category) && !empty($new_category)) // check for the existence and value
{
$info = array(
'message' => 'Data Saved sucess',
'value' => TRUE
);
$this->index($info);
}
else
{
$info = array(
'message' => 'unsuccessful data entry',
'value' => FALSE
);
}