Php 模板中未定义的变量

Php 模板中未定义的变量,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,每当我加载控制器时,我都会得到未定义的变量 这里是从控制器调用的索引函数(第4行),并且在每次发生时都会出现相同的错误 <?php class Students extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Student_model'); } public function index() { $

每当我加载控制器时,我都会得到未定义的变量

这里是从控制器调用的索引函数(第4行),并且在每次发生时都会出现相同的错误

<?php

class Students extends CI_Controller {

public function __construct()
{
    parent::__construct();
    $this->load->model('Student_model');
}

public function index() {
    $data['view_name'] = 'students/dashboard';
    $this->load->view('templates/template_student' , $data );
}

}

您已经在控制器中加载了名为Student的模型,并且您正在模板中访问$Student变量。
这是两件不同的事情

你应该这样做:

class Students extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->model('Student_model', 'student');
    }

    public function index() 
    {
        $student = ... // retrieve the student from db
        $data['student'] = $student; // define the variable to be sent to the view
        $this->load->view('templates/template_student' , $data );
    }
}
控制器的更改

<?php

class Students extends CI_Controller {

public function __construct()
{
    parent::__construct();
    $this->load->model('Student_model');
}

public function index() {
    $data = array();
    $data['view_name'] = 'students/dashboard';
    $data['student'] = $this->student_model->get_all();
    $this->load->view('templates/template_student' , $data );
}

}
这里
$this->table
应该是学生表名

现在我希望你能检查一下你的观点中是否存在类似的值passport_照片

<?php if($student[0]['passport_photo'] == ''){
    .
    .
    .

    } ?>


我希望这能帮助你…谢谢

您将哪些数据传递给视图?错误在于第四行中的$student变量我第一次没有包含索引函数,对此表示抱歉。谢谢,我非常感谢。我的一个朋友给了我他的代码,但我对codeigniter一无所知。然后我看了一些教程,加上你的解释,我真的明白了。它很管用。你甚至让我的代码变得更好。谢谢。干杯!
function get_all()
        {           
            $this->db->from($this->table);

            $query=$this->db->get();
            if($query->num_rows()>0){
                    return $query->result_array();
                }
                else{
                    return array();
                }
        }
<?php if($student[0]['passport_photo'] == ''){
    .
    .
    .

    } ?>