[英]Login in Codeigniter display the current user details after successful login
控制器:
public function view()
{
$seid=$this->session->userdata('user_id');
$data['result']=$this->search_model->getall($seid);
$this->load->view('pagination_view',$data);
}
模型:
public function getall($seid)
{
$this->db->select('uid','name','details','img');
$this->db->where("email",$seid);
$q=$this->db->get('tbl_reg');
return $q->result();
}
視圖:
<?php foreach($result as $row){?>
<?php <?php echo "username:".$row['name'];die();?>
<br/>
<?php echo "email:" .$row['email'];?>
<br/>
<?php echo "user id:" .$row['uid'];?>
<?php echo "Details:".$row['details'];?>
<img src="<?php echo $row['img'] ;}?>" style="width:104px;height:142px"; />
當我登錄到主頁時,沒有顯示當前登錄的用戶詳細信息。 該代碼有什么問題。請提供此問題的解決方案?
如果要從數據庫中獲取單行,請使用$q->row_object()
或$q->row_array()
。 然后,您無需在視圖上使用foreach。 請看下面的例子:
你的模態
public function getall($seid)
{
$this->db->select('uid','name','details','img');
$this->db->where("email",$seid);
$q=$this->db->get('tbl_reg');
return $q->row_array();
}
在您看來
<?php echo "username:".$row['name']; ?>
<br/>
<?php echo "email:" .$row['email'];?>
<br/>
<?php echo "user id:" .$row['uid'];?>
<?php echo "Details:".$row['details'];?>
<img src="<?php echo $row['img'] ;?>" style="width:104px;height:142px"; />
修改模型以使用以下內容:
public function getall($seid)
{
$this->db->select('uid','name','details','img');
$this->db->where("email",$seid);
$q=$this->db->get('tbl_reg');
return $q->result_array();
}
在控制器中,以以下方式添加用戶詳細信息,
public function view()
{
$seid=$this->session->userdata('user_id');
$data['result']=$this->search_model->getall($seid);
$newdata = array(
'username' => <USERNAME>,
'email' => <MAILID>,
...........
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
$this->load->view('pagination_view',$data);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.