【问题标题】:Passing data from controller to view Codeigniter [closed]从控制器传递数据以查看 Codeigniter [关闭]
【发布时间】:2026-01-27 03:15:02
【问题描述】:

我正在尝试将数据传递给查看,但它给了我这个错误: 未定义变量:数据

控制器:

public function article($page=1)
{           
    $info = array(
        "module_name" => $this->module_name,
        "view_name" => "cms/cms_view", // your view path
        "error_msg" => "",  
        "error_type" => "", 
        "data" => array(
        'content'=>$this->cms_model->get_cms($page),
        'test'=>'Hello world'

        ), //data which will be sent to view
    );
    $this->loadview->view($info);
}

型号:

 public function get_cms($page)
    {
        $query = $this->db->get_where('article', array('art_id' => $page),1);
        return $query->row();
    }

查看:

<?php
        echo $data->content;
        ?>

【问题讨论】:

标签: php codeigniter templates variable-assignment


【解决方案1】:

注意最后一行。

控制器:

public function article($page=1) {

    $info = array(
        "module_name" => $this->module_name,
        "view_name" => "cms/cms_view", // your view path
        "error_msg" => "",  
        "error_type" => "", 
        "data" => array(
            'content'=>$this->cms_model->get_cms($page),
            'test'=>'Hello world'

        ), //data which will be sent to view
    );
    $this->load->view('view_name', $info);
}

更多关于如何加载视图here的信息。

【讨论】:

  • 谢谢,但这并没有解决问题。如果 cms_view 没有看到信息,那么为什么当我尝试在视图中回显测试时,它会正确显示:S.
  • $info 不可见,但 $module_name、$view_name 等 $data['content'] 和 $data['test'] 应该可见。
  • 我已经阅读了关于如何将数据从控制器传递到 CodeIgniter cloudways.com/blog/how-to-pass-data-in-codeigniter 的文章
【解决方案2】:

我认为问题可能在您看来。 $data 变量在控制器中设置为数组,但您将其视为对象。尝试使用

<?php
     echo $data["content"];
?>

改为在视图中查看是否可以解决您的问题。

【讨论】:

    最近更新 更多