Codeigniter返回未定义的变量codeigniter

时间:2016-01-28 20:01:51

标签: php codeigniter

我试图将数组数据从控制器发送到视图。 但是,框架的日志指责:消息:未定义的变量:var。

这是假数据"我的控制器," n":

class Produtos extends CI_Controller{


public function index()
{
    $n= [];
    $form = [
        "greetings" => "welcome",
        "user" => "Name:",
        "password" => "Pass:",
        "copyright" => "2016"
    ];

    array_push($n, $form);

    $dados = ["n" => $n];

    $this->load->view("n/index.php");
}

}

并且,我的观点名为" n"只有一个var_dump:

<?= var_dump($n);>
有人可以帮忙吗?

5 个答案:

答案 0 :(得分:2)

您可以查看CodeIgniter documentation您应该将数据传递给视图,作为$this->load->view函数的第二个参数

$form = [
    "greetings" => "welcome",
    "user" => "Name:",
    "password" => "Pass:",
    "copyright" => "2016"
];

$this->load->view("n/index.php", ["n" => $form]);

然后,您的var_dump代码不正确,您应该以正确的方式使用php tags

<?=var_dump($n)?>

答案 1 :(得分:2)

您必须使用传递的数组中的元素:

在您的控制器中:

# install.packages("ggmap")
library(ggmap)
qmap("USA", zoom = 4)

在您看来:

$this->load->view("n/index.php", $form);

答案 2 :(得分:0)

您可以像下面那样使用普通数组

The Loading Of Views

class Produtos extends CI_Controller{

public function index()
{
    $data = array(
        "greetings" => "welcome",
        "user" => "Name:",
        "password" => "Pass:",
        "copyright" => "2016"
    );


    $this->load->view("view_file_name", $data);
}

}
  

我不会使用index.php作为视图文件的名称,因为你有   主目录中的index.php文件

然后

<?php echo $copyright;?>

答案 3 :(得分:0)

在您的视图中使用此功能一次。

<?= var_dump($n[0]) ?>

答案 4 :(得分:0)

您没有将数组传递到视图页面。

<?php 

    $n= [];
            $form = [
                "greetings" => "welcome",
                "user" => "Name:",
                "password" => "Pass:",
                "copyright" => "2016"
            ];

            array_push($n, $form);

            $dados = ["n" => $n];
            $this->load->view("index.php",$dados);


        ?>