首页 文章

Codeigniter数据未从控制器传递到视图[重复]

提问于
浏览
0

这个问题在这里已有答案:

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

遇到PHP错误严重性:通知消息:未定义的变量:data文件名: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 回答

  • -1

    视图中不存在 $data . 相反,在给定数组 $data 中,每个键有一个变量 . 所以,在你的情况下,你有 $title$heading$message .

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

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

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

    var_dump($title);
    
  • 4

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

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

    快速提示 - Do not include the closing php tag in your Controllers or Models !

    } // bracket that closes class
    
     // NO NO NO
    ?>
    

    可以弄乱文件 . 控制器或模型应以类结束括号结束 . 如果你愿意,你可以发表评论

    } // heres a comment and its ok
    

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

相关问题