對於CodeIgniter來說還是很新的,並試圖執行以下操作。我可能會做這個錯誤的,任何方向,非常感謝。CodeIgniter控制器 - 將變量傳遞給索引()
我有一個函數,在提交登錄表單時調用validate_creds
。如果表單登錄成功,如果不成功,我想設置一個$error_msg
並重新加載表單。 validate_creds()
似乎驗證正確,但正如你可以在else
聲明中看到的,我想重新加載index()
,傳遞$error_msg
在窗體頂部顯示消息。
public function index($error_msg = '')
{
//data
$data['login'] = "Logged In";
if($error_msg !== '') {
$data['error_msg'] = $error_msg;
}
//view
$this->load->view('templates/login/login_header',$data);
$this->load->view('login/login_form', $data);
$this->load->view('templates/login/login_footer',$data);
}
public function validate_creds()
{
$this->load->model('user_model');
$query = $this->user_model->validate();
if($query)//if the users creds have been validated...
{
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('gallery');
}
else
{
$error_msg = "Your username or password is not correct.";
$this->index($error_msg);
}
}
形成消息
<?php if($error_msg != ''): ?>
<div class="alert alert-error">
<?php echo $error_msg; ?>
</div>
<?php endif; ?>
什麼目前正在發生的事情是$error_msg
顯示了所有的時間。
您的索引功能沒有正確關閉,這是複製/粘貼錯誤嗎? – GrayB
謝謝,是複製/粘貼 - 編輯的問題。 – Bungdaddy