在codeigniter中使用ion-auth将用户数据从模型控制器传递到视图时出错

时间:2017-05-21 13:01:23

标签: php codeigniter codeigniter-3 ion-auth

在这里,我根据在登录表单中输入的用户名和密码传递用户相关数据,如用户名和总分。我在这里使用ion-auth来验证用户输入的散列密码。 在视图中接收和查看用户详细信息时,我面临以下错误。 (将用户数据从数据库通过模型传递给控制器​​,最后传递给视图时出现问题) 请指导我通过正确的道路,因为我是codeigniter和ion-auth的新手。 错误:

  **Message: Undefined index: fname
  Filename: views/members_area.php**

我的Membership_model和验证功能:

function validate()
{
    $un=$this->input->post('username');
    $pw=$this->input->post('password');
    $this->db->where('username', $un);
    $query=$this->db->get('users');

    if($query->num_rows() > 0)
    {
    $this->load->ion_auth_model;
    $password_match=$this->ion_auth_model->hash_password_db($query->id,$pw);

        if($password_match !== FALSE)
        {               
            foreach($query->result() as $rows)
            {
                $results[]= array(
                    'first_name'    => $rows->first_name,
                    'phone'         => $rows->phone,
                    'total_points'  => $rows->total_points,
                    );
            }

        return $results;
        }

    }

    else return false;

从模型中收到的$结果由登录控制器收到:

public function validate_credentials()
{
    $this->load->model('Membership_model');
    $query['result']=$this->Membership_model->validate();

    if($query) //if user credentials validated
    {           
        $this->load->view('members_area',$query);           
    }

    else 
    {
        echo "Login credentials doesn't match";
    }

}

这是我在视图中遇到问题的地方(members_area):

  <?php
        if(!empty($result))
    {
        foreach ($result as $key) {
        # code...
            $_SESSION['fname'] = $key['first_name'];
            $_SESSION['total_points']=$key['total_points'];
            $_SESSION['phone']=$key['phone'];

        }
        }
    ?>
   <!DOCTYPE html>
<html>
<body>
<div id='game_zone'>
    <?php echo "<h1>Welcome ".$_SESSION['fname']."</h1>"; ?>
    <?php echo "<p>Your total points is <strong>".$_SESSION['total_points']."</strong></p>"; ?>
</body>
</html>

0 个答案:

没有答案