簡體   English   中英

Codeigniter返回未定義的變量codeigniter

[英]Codeigniter return Undefined variable 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);>

有人可以幫忙嗎?

您可以查看CodeIgniter文檔 您應該將數據作為$this->load->view函數的第二個參數傳遞給$this->load->view

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

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

然后,您的var_dump代碼不正確,您應該以適當的方式使用php標簽

<?=var_dump($n)?>

您必須使用傳遞的數組中的元素:

在您的控制器中:

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

您認為:

<?php
    echo $greetings; // welcome

    echo $user; // Name:
?>

您可以只使用如下所示的普通數組

視圖加載

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;?>

在您的視圖中使用一次。

<?= var_dump($n[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);


        ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM