当我尝试在CodeIgniter中运行以下应用程序时,出现以下错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: views/blog.php
Line Number: 1
我花了将近一个小时的时间想弄明白这个问题,但我还是没办法。我的观点是这样的:
<?php foreach($data->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
我的控制器看起来像这样:
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->database();
$data = $this->db->get('posts');
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog', $data);
$this->load->view('footer');
}
}
有人知道怎么修吗?
6条答案
按热度按时间uurv41yg1#
您必须更改控制器和视图
通过数据发送的数组应该是这样的:
你认为:
codeiginter使用$data数组将变量发送到视图,如果你想发送一些东西到视图中,可以在$data中放入$data ['key'] = $瓦尔;
pb3skfrl2#
尝试在视图的第一行使用
$blog
而不是$data
。我不确定,但您将
$data
分配给控制器中名为blog
的键...odopli943#
变量必须作为数组中的键-值对传递给视图。Here对此进行了解释。
afdcj2ne4#
我认为这个错误通知不是来自控制器,而是来自视图(blog.php)。您忘记了将$data传递给视图。您应该将传递给视图的变量重新构造为如下形式:
iqih9akk5#
请像这样组织你的帖子模型
和像这样的后控制器
并在您的视图文件中以这种方式回显内容:)
cotxawn76#
在控制器文件中,如果要消除此错误,请写入
然后在视图文件中,使用
$variable_name
而不是$data
,即