$ data数组未传递给view / Codeigniter 2.x

时间:2015-08-20 02:55:13

标签: php codeigniter

我的$ data数组没有按照下面的代码和错误传递给视图。

public function myAccount(){
    $data = array(
        'templateVersion'   => 'template1',
        'headerVersion'     => 'header2',
        'css'               => '',
        'navBarVersion'     => 'navBar2',
        'main_content'      => 'myaccount/myAccount',
        'page_title'        => 'example.com - My Account',
        'footerVersion'     => 'footer2'
        );
    if (($this->session->userdata('is_logged_in')) == 1) {
            $config['upload_path'] = $this->logo_path;
            $config['allowed_types'] = 'gif|jpg|png|jpeg';
            $config['encrypt_name'] = TRUE;
            $this->load->library('upload', $config);    
               if ($this->input->post('upload')) {
                    if(!$this->upload->do_upload('userfile')){
                        echo $this->upload->display_errors('<p>', '</p>');
                    } else {
                        $w = $this->upload->data();
                        $data = array(
                            'field_input_name' => $w['file_name'],
                            );
                         //$this->db->insert('table_image', $data);
                         echo "here";
                         //exit;
                    }
                }

            //******************************************
            // For some reason, $data is not passed in!
            // Have posted the web screen error far below.
            $this->load->view('includes/template1', $data);  

    }else{
        redirect('site/restricted');
    }
}

/////////////////////////////////////////////// /////////////////////

  

遇到PHP错误严重性:通知消息:未定义   变量:headerVersion文件名:includes / template1.php行   数量:4

遇到错误

无法加载请求的文件:includes / .php

2 个答案:

答案 0 :(得分:1)

您已初始化$ data两次。一旦进入函数的开头,再次进入upload的else条件。其他上传条件就像这样改变了

 $data['field_input_name'] = $w['file_name'];

它会起作用。

答案 1 :(得分:0)

$data array's keys are converted into variables
$data['someKey'] = array(
        'templateVersion'   => 'template1',
        'headerVersion'     => 'header2',
        'css'               => '',
        'navBarVersion'     => 'navBar2',
        'main_content'      => 'myaccount/myAccount',
        'page_title'        => 'example.com - My Account',
        'footerVersion'     => 'footer2'
        );

在视图中,您可以print_r($someKey);进行访问 使用die(var_dump($someKeys));查看结果

当您尝试在CI中上传图像时,您可以使用 echo $this->image_lib->display_errors();用于其他一些错误检测或调试