用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3649|回复: 2
收起左侧

[已解决] 验证 数组是否为空

[复制链接]
发表于 2011-4-3 16:35:52 | 显示全部楼层 |阅读模式
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 直接写 没出现问题。
发表于 2011-4-3 17:07:26 | 显示全部楼层
你在foreach外面判断一下啊!
只有一条的时候用$query->row_array();比较好,那就省去foreach了
判断数组为不为空很简单啊,你就if(数组)就可以了啊
发表于 2011-4-3 17:16:56 | 显示全部楼层
PHP复制代码
 
$query    = $this->db->query('SELECT `username`,`password` FROM `user` WHERE `username` = "'.$username.'"');
 
复制代码

当查询数据库不存在的用户名时,这个始终返回空结果集。

我认为用户应该是唯一的,所以这里用
PHP复制代码
 
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('用户名或者密码错误!');
}
 
复制代码

本版积分规则