0

今天我试图用 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

我可能错过了什么吗?我想知道如何解决这个问题。

路由.php

$route['grades'] = 'grades';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';
$route['404_override'] = '';
4

3 回答 3

0

你的控制器或视图文件没有错误,但是路由有问题

$route['grades'] = 'grades'; 应该是 $route['grades'] = 'grades/view';

$route['default_controller'] = '页面/视图'; 应该是 $route['default_controller'] = 'grades/view';

您必须注意,在路由中的工作方式类似于 $route['{is_the_string_will_appear_in_URL}']='{is_a_controller_name}/{is_a_method_name}/${will_be_first_parameter}' 如果这对您有用,请告诉我

于 2013-08-21T11:06:07.670 回答
0

您没有正确访问元素。像这样试试

<?php foreach ($data['todo_list'] as $item):?>

输出 :

在此处输入图像描述

于 2013-08-21T11:14:02.970 回答
-1

Err1:改:;第11行!

Err2:您必须$heading在使用之前定义变量。现在已经没有任何价值了。

于 2013-08-11T13:14:33.913 回答