使用编码器在导航栏中显示个人资料图像


Show Profile Image in Nav bar using codeigniter

我试图在导航栏顶部显示用户图像,如用户名" image ",就像在这个网站或任何其他

这就是我所尝试的。

<<p> 视图/strong>
 <li class="">
                    <a href="#" class="user-profile dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
                        <img src="<?php echo base_url(); ?>profileimages/<?php if (isset($_SESSION['Prof']))
                        {
                            echo $_SESSION['Prof'];
                        }?>" alt=""><?php echo $admin;?>
                        <span class=" fa fa-angle-down"></span>
                    </a>
                    <ul class="dropdown-menu dropdown-usermenu pull-right">
                        <li><a href="Profile"> Profile</a></li>
                        <li><a href="Profile_Setting"> Setting</a></li>
                        <li><a href="logout"><i class="fa fa-sign-out pull-right"></i> Log Out</a></li>
                    </ul>
                </li>

我把图像在会话在登录模型,

public function login_admin($username,$password)
    {
        $query=$this->db->where(['Username'=>$username,'Password'=>$password])->get('dc_admin');
        if($query->num_rows()>0)
        {
            foreach ($query->result() as $row)
            {
                $q=$row->Profile_Picture;
                $_SESSION['Prof']=$q;
            }
            $this->session->set_userdata('logged_in',$username);
            redirect('Master/Users');
        }
        else
        {
            redirect('Master');
        }
    }

我是新的CI并尝试学习,请告诉我在这里可以做些什么来获得图像,我能够获得登录的用户名,但不是图像。

MODEL

第一步

从查询中获取结果

function getUserDetails($user_id){
 $this->db->where('user_id', $user_id);
 $query = $this->db->get('tbl_user');
 return $query->row();
}
第二步

正如@cssBlaster21895所说,在会话中插入头像

$user_details = $this->M_Model->getUserDetails($user_id);
if($user_details){
 $this->session->set_userdata('profile_picture', $user_details->profile);
}
// Load your view

注意这个必须在控制器

第三步

添加图片到导航栏

<img src = "<?php if($this->session->userdata('profile_picture')) { echo $this->session->userdata(''profile_picture); } ?>" />

注释需要注意的是,您可以在用户登录时设置会话,然后将图像添加到模板的导航栏中。

希望能有所帮助

我只是在我的代码中做了一个简单的改变,并通过上面的答案遵循会话的想法。下面的代码修复了我的问题。

 public function login_admin($username,$password)
{
    $query=$this->db->where(['Username'=>$username,'Password'=>$password])->get('dc_admin');
    //this is for single record
    if($query->num_rows()>0)
    {
        $rw = $query->row();
        $q = $rw->Profile_Image;
        $this->session->set_userdata('prfimg', $q);
        $this->session->set_userdata('logged_in',$username);
        redirect('Master/Users');
    }
    else
    {
        redirect('Master');
    }
}