我有一个像这样的会话控制器
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
答案 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']
加载相同的视图文件。你不需要重定向。