$data数组没有被传递到view / Codeigniter 2.x



由于下面的代码和错误,我的$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错误严重性:Notice Message: Undefined变量:headerVersion文件名:include/template1.php数量:4

遇到错误

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

$data初始化了两次。一次在函数的开始,另一次在else条件下上传。在上传的else条件中像这样改变

 $data['field_input_name'] = $w['file_name'];
$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();对于其他一些错误检测或调试

最新更新