我有一个代码点火器控制器,具有以下check()
功能来检查用户名和密码。
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>
问题出在表单标签的动作属性上
改变
<form class="form-1" action="login/check" method="post">
自
<form class="form-1" action="/login/check" method="post">
或者更好(如果您使用的是 url 帮助程序)
<form class="form-1" action="<?php echo base_url() ?>login/check" method="post">
为什么会这样?
您正在使用相对于当前 URL path
的值。
HTML 表单操作属性
例 1
- 页
-
http://www.example.com/
-
- 形式
-
<form class="form-1" action="login/check" method="post">
-
- 将发布到
-
http://www.example.com/login/check
-
例 2
- 页
-
http://www.example.com/login/
-
- 形式
-
<form class="form-1" action="login/check" method="post">
-
- 将发布到
-
http://www.example.com/login/login/check
-
例 3
- 页
-
http://www.example.com/login
-
- 形式
-
<form class="form-1" action="/" method="post">
-
- 将发布到
-
http://www.example.com/
-