我创建了一个基本登录表单,其中验证仅包含字段不为空。 在控制器中,索引看起来像
$this->load->helper('form');
$this->load->view('auth/login');
这是视图
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://www.w3schools.com/lib/w3.css">
<meta charset="utf-8">
<title>LOGIN
</title>
</head>
<body>
<h1>Simple Login with CodeIgniter</h1>
<?php echo form_open('login/verifylogin'); ?>
<div class="" style="margin:0">
<label for="username">Username:</label>
<div class="" style="display:inline-block;margin:0">
<?php echo form_input(['name'=>'username','class'=>'','placeholder'=>'Your username here','value'=>set_value('username')]); ?>
</div>
<?php echo form_error('username',"<div class='w3-text-red' style='display:inline-block'>","</div>"); ?>
</div>
<br/>
<div class="">
<?php echo form_label('Password:','pass'); ?>
<div class="" style="display:inline-block;margin:0">
<?php echo form_password(['name'=>'password','class'=>'','placeholder'=>'Your password here']); ?>
</div>
<?php echo form_error('password',"<div class='w3-text-red' style='display:inline-block'>","</div>"); ?>
</div>
<br/>
<?php echo form_submit('submit', 'Login'); ?>
<?php echo form_close(); ?>
</form>
</body>
</html>
当用户成功验证后,他被重定向到仪表板视图但在地址栏中仍然得到http://192.168.1.102/login/verifylogin
(192.168.1.102是本地主机,或者特别是其运行服务器的设备地址)。
此外,如果用户将字段留空,则会向视图auth/login
显示相应的错误,但地址栏会显示http://192.168.1.102/login/verifylogin
。
请指导我如何解决这个问题。
我是codeigniter的初学者(我也有拉格拉夫手)。
我已根据给定的指南删除了index.php文件。
我使用的是ubuntu 14.04
编辑1: - 如果用户登录失败,我不想在地址栏中显示方法名称 编辑2: - 控制器: -
<?php
/**
*
*/
class Login extends CI_Controller
{
public function index()
{
$this->load->helper('form');
$this->load->view('auth/login');
}
public function verifylogin()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'trim|required|alpha_numeric');
$this->form_validation->set_rules('password', 'Password', 'required');
if ($this->form_validation->run()) {
$this->load->helper('url');
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->load->model('Loginmodel');
if ($this->Loginmodel->login_valid($username, $password)) {
redirect('dashboard');
}else {
$this->load->view('auth/login');
}
} else {
$this->load->view('auth/login');
}
}
}
?>