0

ユーザーの電子メールとパスワードがデータベースに保存されていない場合、エラーメッセージを返そうとしていますが、codeigniter 検証エラーメッセージはエラーなしで実行されています。しかし、表示するエラー パラメータである検証メッセージを渡すことができません。代わりに Undefined variable: エラー メッセージが表示されます。

これが私がやったことです:

コントローラ:

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 に答える