我要验证"用户名" &安培; "密码"
这是我与用户的表格:
这里是用户:
登录系统必须"分类" ADMIN用户(tipo = 0)和简单用户(tipo = 1)的用户。注意:ADMIN和简单用户在登录后具有不同的屏幕
我必须验证访问的人是活跃的成员(我遇到了问题)
ESTATUS = 1是活跃用户
ESTATUS = 0不是活跃用户
我不知道如果一个人没有写任何东西我应该怎么验证他只是点击"登录"按钮(我不应该连接到服务器来验证它)
这是我的代码,它运行正常..它验证用户是ADMIN还是简单用户,以及登录系统中写入的信息是否与数据库中的人员相对应。 但我不知道该如何做" ESTATUS"验证以及如何在不连接服务器的情况下检查空白字段:/
<?php
Class Login extends CI_Controller{
public function index(){
$this->load->view('login_form');
}
public function do_login()
{
if(isset($_POST['login'])){
$user=$this->input->post('usuario', true);
$pass=$this->input->post('contrasena', true);
$cek = $this->m_login->proceso_login($user,$pass);
$hasil=count($cek);
if($hasil > 0){
$pelogin =$this->db->get_where('usuarios',array('usuario' => $user, 'contrasena' => $pass))->row();
if($pelogin ->tipo == 0){
redirect('login/admin');
}
else{
redirect('login/usuario');
}
}
redirect('login/index');
}
}
答案 0 :(得分:0)
在将数据插入数据库之前,您需要执行一些validation:
public function do_login()
{
// load the form_validation library
$this->load->library('form_validation');
$this->form_validation->set_rules('Your_username_field_name', 'Username', 'trim|required|min_length[3]|alpha_numeric');
$this->form_validation->set_rules('Your_password_field_name', 'Password', 'trim|required|min_length[6]');
// if there is errors
if ($this->form_validation->run() == FALSE) {
// this will load your form with the errors
$this->load->view('Login_main');
} else {
// if no errors we will hit the database
$user=$this->input->post('usuario', true);
$pass=$this->input->post('contrasena', true);
$cek = $this->m_login->proceso_login($user,$pass);
$hasil=count($cek);
if($hasil > 0){
$pelogin =$this->db->get_where('usuarios',array('usuario' => $user, 'contrasena' => $pass))->row();
if($pelogin ->tipo == 0){
redirect('login/admin');
}
else{
redirect('login/usuario');
}
}
redirect('login/index');
}
}
在您的Login_main视图中<?php echo validation_errors(); ?>