Показать изображение профиля в навигационной панели с помощью codeigniter

Я пытаюсь показать изображение пользователя в верхнем разделе navbar, как имя пользователя «Image», как на этом сайте или любом другом.

Это то, что я пытаюсь.

Вид

 <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');
        }

    }

I am new in CI and try to learn, please tell what i can do here to get image, i am able to get the logged IN username but not the image.

Любая помощь будет оценена по достоинству.

2 ответа

  1. Я просто делаю простое изменение в моем коде, и следую за идеей сеанса вышеуказанными ответами. Код ниже исправил мою проблему.

     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');
        }
    
    }
    
  2. МОДЕЛЬ

    Шаг Первый

    Получите результат запроса

    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); } ?>" />
    

    Обратите внимание, что вы можете установить сеанс, когда пользователь входит в систему, а затем добавить изображение на панель навигации в шаблоне.

    Надеюсь, это поможет