Codeigniter数据未从控制器传递到视图

时间:2013-07-30 20:14:23

标签: php codeigniter

我已经设置了一个codeigniter环境。我能够将欢迎控制器中的数据传递给视图,但是我创建了一个名为TestController的新控制器,我无法将数据传递给我的测试视图。它表示未定义的变量。

  

遇到PHP错误

     

严重性:注意

     

消息:未定义的变量:数据

     

文件名:views / gallery.php

     

行号:4

控制器

<?php

class Testcontroller extends CI_Controller {


    // --------------------------------------------------------------------

    /**
     *  The constructor
     */
    function __construct()
    {
        parent::__construct();  



    }


    function index() {


    $data = array('title' => 'My Title',
              'heading' => 'My Heading',
              'message' => 'My Message');

$this->load->view('test', $data);

    }
}

?>

测试视图

<?php   var_dump($data); ?> 

4 个答案:

答案 0 :(得分:4)

视图中不存在

$data。相反,在给定数组$data中每个键有一个变量。因此,在您的情况下,您有$title$heading$message

请记住,传递的数据可能是匿名数组:

$this->load->view('test', array('title' => 'My Title',
              'heading' => 'My Heading',
              'message' => 'My Message'));

答案 1 :(得分:3)

您无需访问视图中的$data数组。直接访问密钥:

var_dump($title);

答案 2 :(得分:0)

在视图中,您可以这样打印:

<?php echo $title; ?>
<?php echo $heading; ?>
<?php echo $message; ?>

答案 3 :(得分:-1)

快速提示 - 不要在控制器或模型中包含结束的php标记!

} // bracket that closes class

 // NO NO NO
?>  

可以弄乱文件。控制器或模型应以类结束括号结束。 如果你想要你可以发表评论

} // heres a comment and its ok

而在您的视图文件中 - 始终关闭您的PHP代码。