我正试图在导航栏顶部显示用户图像,例如用户名“图片”,就像在此网站或任何其他网站中一样。
这就是我的尝试。
查看
<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的新手并尝试学习,请告诉我在这里可以做什么来获取图像,我能够获得记录的IN用户名但不能获得图像。
任何帮助将不胜感激。
答案 0 :(得分:0)
从查询中获取结果
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); } ?>" />
注意需要注意的是,您可以在用户登录时设置会话,然后将图片添加到模板中的导航栏。
希望这有帮助
答案 1 :(得分:0)
我只是对我的代码进行了简单的更改,并按照上述答案的会话理念进行操作。以下代码解决了我的问题。
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');
}
}