TABLES
我有 2 个表,Pengguna
和 Mahasiswa
,表 pengguna
是一个包含可以登录网站的用户数据的表而表 mahasiswa
包含用户数据,例如姓名、电子邮件、电话等。
然后我希望已登录的用户显示表 mahasiswa
中存在的凭据信息。假设我使用用户名“123”和id_pengguna“3”登录,这意味着我的名字是“Mirza”并且我的nim 是“123” 等等
问题是如何设置登录用户的 session 并从表mahasiswa
中获取用户信息?我所能做的就是显示 mahasiswa
中的第一个表,而不是从登录 session 的用户那里获取数据,下面是 controller
、model
和查看
Model
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MProfile extends CI_Model{
function __construct(){
parent::__construct();
$this->load->database();
}
function read($cond, $ordField, $ordType){
if($cond!=null){
$this->db->where($cond);
}
if($ordField!=null){
$this->db->order_by($ordField, $ordType);
}
$query = $this->db->get('mahasiswa');
return $query;
}
}
CONTROLLER
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Profil extends MY_Controller {
public function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->library('session');
$this->load->model('MProfile');
}
public function index(){
$data['menu4'] = true;
/*$this->sessionOut();*/
$this->session->userdata('idpengguna');
$data['query'] = $this->MProfile->read(null, 'nim', 'ASC');
$this->load->view('layouts/header');
$this->load->view('profil_page', $data);
$this->load->view('layouts/footer');
}
}
VIEW
<?php
if(isset($this->session->userdata['logged_in'])){
$nim = $this->session->userdata['loggedin']['nim'];
}
?>
<ul class="category-t">
<?php foreach ($query->result() as $result){}?>
<li><?php echo $result->nim;?></li>
<li><?php echo $result->nama_mahasiswa;?></li>
<li><?php echo $result->email;?></li>
<li><?php echo $result->telepon;?></li>
</ul>
最佳答案
很简单,您可以创建一个新的查询,从您的 mahasiswa
表中选择数据。
将此添加到您的 Controller
$data["row"] = $this->Mprofile->getmahasiswa();
在你的模型中
function getmahasiswa(){
$idpengguna = $this->session->userdata('idpengguna');
$this->db->where('id_pengguna', $idpengguna);
$q = $this->db->get('mahasiswa');
return $q->row();
}
在你看来
<ul class="category-t">
<li><?php echo $nim;?></li>
<li><?php echo $nama_mahasiswa;?></li>
<li><?php echo $email;?></li>
<li><?php echo $telepon;?></li>
</ul>
将其添加到您的 View 顶部
<?php
if ($row){
$nim= $row->nim;
$nama_mahasiswa = $row->nama_mahasiswa;
$email = $row->email;
$telepon= $row->telepon;
} else {
$nim =
$nama_mahasiswa =
$email =
$telepon = "";
}
?>
关于php - 从 session 中获取用户数据 Codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36050331/