今天我试图用Code Igniter框架理解编码原理。然而,我遇到了愚蠢的问题。
这是我的控制器等级:
<?php
class Grades extends CI_Controller
{
public function view()
{
$data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands');
$data['title'] = "My Real Title";
$data['heading'] = "My Real Heading";
$this->load->view('pages/home', $data);
}
}
?>
这是我的家:
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<h1><?php echo $heading;?></h1>
<h3>My Todo List</h3>
<ul>
<?php foreach ($todo_list as $item):?>
<li><?php echo $item;?></li>
<?php endforeach;?>
</ul>
</body>
</html>
输出结果为:
遇到PHP错误
严重性:警告
消息:为foreach()提供的参数无效
文件名:pages / home.php
行号:11
严重性:注意
消息:未定义的变量:标题
文件名:pages / home.php
行号:6
我可能错过了什么吗?我想知道如何解决这个问题。
routes.php文件
$route['grades'] = 'grades';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';
$route['404_override'] = '';
答案 0 :(得分:0)
您的控制器或视图文件中没有错误,但路径中存在问题
$ route ['grades'] ='成绩'; 应该是 $ route ['grades'] ='grade / view';
$ route ['default_controller'] ='pages / view'; 应该是 $ route ['default_controller'] ='grade / view';
你必须注意到路由工作就像 $路线[ '{} is_the_string_will_appear_in_URL'] = '{is_a_controller_name} / {is_a_method_name} / $ {will_be_first_parameter}' 如果这对您有用,请告诉我
答案 1 :(得分:0)
您没有正确访问这些元素。试试这个
<?php foreach ($data['todo_list'] as $item):?>
输出:
答案 2 :(得分:-1)
ERR1:
在第11行将:
更改为;
!
ERR2:
您必须在使用变量$heading
之前定义它。它现在没有任何价值。