将html文件发送到视图

时间:2012-03-01 14:07:41

标签: php codeigniter

我有一个像这样的会话控制器

public function main_page() {

    $username = $this->input->post('username');
    $password = $this->input->post('password');

    $userID = $this->girismodel->girisKontrol($username, $password);


    $data = array();

    if (!$userID) {
        $this->session->set_flashdata('login_error', TRUE);
        redirect('http://' . site_url() . 'giris/');
        $data['menu'] = $this->load->view('anasayfa/bLogin', '', true);
    } else {

        $this->session->set_userdata(array(
            'logged_in' => TRUE,
            'userID' => $userID,
            'username' => $username));

        $data['menu'] = $this->load->view('anasayfa/aLogin', '', true);

        redirect('http://' . site_url());
    }

    $this->load->view('welcome_message', $data);
}

正如您在上面的代码中所看到的,如果会话不正常,则加载到$ data ['menu'] = bLogin.php 否则aLogin.php

之后,我将此传递给welcome_message并尝试使用

echo $menu

我觉得有什么其他办法可能会废话吗?因为它给出了错误:

Undefined variable: menu

2 个答案:

答案 0 :(得分:1)

在设置$ data ['menu']

之前,您已经重定向了
redirect('http://' . site_url() . 'giris/'); 
$data['menu'] = $this->load->view('anasayfa/bLogin', '', true);  <-- this will not execute

答案 1 :(得分:1)

您正在重定向这两个条件。你甚至加载了welcome_message加载的视图!删除那些重定向行。在我看到您的代码时,您希望使用不同的$data['menu']加载相同的视图文件。你不需要重定向。