验证 数组是否为空
function user_login(){///$this->load->library('session');
$username = $this->input->post('username');
$password = $this->input->post('password');
$password = md5($password);
$query = $this->db->query('SELECT `username`,`password` FROM `user` WHERE `username` = "'.$username.'"');
foreach($query->result_array() as $user){
if($username && $password == $user['password']){
$data = array(
'uid' => $user['uid'],
'username' =>$user['username']
);
// $this->session->set_userdata('userone',$data);
$this->alert('登陆成功');
//$this->load->view('admin_index');
}else if(element($user['username'],$user,$password)){
$this->alert('用户名或者密码错误!');
}
}
}
function alert($meg){
echo "<script type='text/javascript'>alert('$meg');location.href=document.referrer;</script>";
}
高手帮忙看下 代码是否有错? 我的这个是登陆功能 当我输入数据库里面有的用户密码错误时会提示(用户名或密码错误) 但是我输入数据库没有的用户时 什么都不会提示? 这个怎么解决啊? 以前用PHP 直接写 没出现问题。 你在foreach外面判断一下啊!
只有一条的时候用$query->row_array();比较好,那就省去foreach了
判断数组为不为空很简单啊,你就if(数组)就可以了啊
$query = $this->db->query('SELECT `username`,`password` FROM `user` WHERE `username` = "'.$username.'"');
当查询数据库不存在的用户名时,这个始终返回空结果集。
我认为用户应该是唯一的,所以这里用
if($query->num_rows() == 1){
$user = $query->row_array();
if($username && $password == $user['password']){
$data = array(
'uid' => $user['uid'],
'username' =>$user['username']
);
// $this->session->set_userdata('userone',$data);
$this->alert('登陆成功');
//$this->load->view('admin_index');
}else if(element($user['username'],$user,$password)){
$this->alert('用户名或者密码错误!');
}
}else{
$this->alert('用户名或者密码错误!');
}
页:
[1]