成员变量的值在CodeIgniter / PHP中消失

时间:2016-07-21 18:12:26

标签: php codeigniter codeigniter-3

我在$member变量中存在丢失值的情况。

class User extends CI_Controller {
    protected $message;

    function list()
    {
        $data['message'] = $this->message; // it's empty
        $this->load->view('view', $data);
    }

    function delete($id)
    {
        $this->user_model->delete($id);
        $this->message = "Success";

        redirect('user/list');
    }

}

使用重定向的原因是获取干净的URL。在重定向后,$this->message中的list()为空值。

我甚至尝试过静态,但仍然没有运气。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用Flash消息:

function delete($id)
{
    $this->user_model->delete($id);
    $this->session->set_flashdata('message', 'Success');

    redirect('user/list');
}

为此,您可能需要在控制器的构造函数中加载会话库:

$this->load->library('session');

在您的视图中使用此:

<?php echo $this->session->flashdata('message');?>

您可以将闪存消息中的数据保留为以下几个请求:

$this->session->keep_flashdata('message');

查看this link