0

我正在尝试返回一些错误消息,如果用户的电子邮件和密码未存储在数据库中,则 codeigniter 验证错误消息正在运行而没有任何错误。但我无法传递我的验证消息,即要查看的错误参数。我收到未定义的变量:错误消息。

这是我所做的:

控制器:

if($this->form_validation->run()==TRUE){
        if($this->user_m->login() == TRUE){
            redirect($dashboard);
        }
        else{
            $this->session->set_flashdata('error','Wrong email, password combination.');
            $error = $this->session->flashdata('error');
            $data['error'] = $error;
            redirect('admin/user/login','refresh');
        }
    }
    $this->data['subview'] = 'admin/user/login';
    $this->load->view('admin/layout',$this->data);

看法:

<?php if($error){ ?>
        <div id="error_text"><?=$error;?></div>
 <?php } ?>
4

2 回答 2

1

尝试这个:

<div id="error_text"><?php echo $this->session->flashdata('error'); ?></div>

和控制器:

if($this->form_validation->run()==TRUE){
        if($this->user_m->login() == TRUE){
            redirect($dashboard);
        }
        else{
            $this->session->set_flashdata('error','Wrong email, password combination.');
            redirect('admin/user/login','refresh');
        }
    }
    $this->data['subview'] = 'admin/user/login';
    $this->load->view('admin/layout',$this->data);
于 2013-08-03T23:15:01.923 回答
0

$this->load->view('admin/layout',$this->data);

应该

$this->load->view('admin/layout',$data);

或者

更改错误变量:

$data['error'] = $error;

进入

$this->data['error'] = $error;

于 2013-08-03T23:15:40.500 回答