我试图在导航栏顶部显示用户图像,如用户名" 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');
}
}