[英]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.