控制器输出

时间:2013-08-11 12:26:13

标签: php codeigniter codeigniter-routing

今天我试图用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'] = '';

3 个答案:

答案 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):?>

输出:

enter image description here

答案 2 :(得分:-1)

ERR1: 在第11行将:更改为;

ERR2: 您必须在使用变量$heading之前定义它。它现在没有任何价值。