我有一个带有以下check()
功能的 codeigniter 控制器来检查用户名和密码。
http://localhost/prakash/modules/index.php/login/login/login/login/login/login/check
每次我提交表单(从视图)时,都会生成上面的链接。我该如何克服它。我本可以redirect('login')
在控制器中使用而不是$this->load->view('login/login_form');
这样,但它不会在表单中显示验证错误。
我的控制器是
function check(){
$this->form_validation->set_rules('username', 'Username', 'required');
if($this->form_validation->run()==FALSE){
$this->load->view('login/login_form');
}else{
$this->load->model('loginModel');
$query = $this->loginModel->validate();
if($query){
$data = array('username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
//redirecting to appropriate page
redirect('success');
}else{
$this->session->set_flashdata('loginCheck','Username/Password Comination Incorrect!');
redirect('login');
}
}
}
我的看法是
<section class="main">
<form class="form-1" action="login/check" method="post">
<?php echo "<p class=\"text-error\">{$this->session->flashdata('loginCheck')}</p>"; ?>
<?php echo validation_errors(); ?>
<p class="field">
<input type="text" name="username" placeholder="Username or email">
<i class="icon-user icon-large"></i>
</p>
<p class="field">
<input type="password" name="password" placeholder="Password">
<i class="icon-lock icon-large"></i>
</p>
<p class="submit">
<button type="submit" name="submit"><i class="icon-arrow-right icon-large"></i></button>
</p>
</form>
</section>