Php 登录codeigniter后的条件获取数据
我制作了一个登录系统,可以验证用户是管理员还是简单用户 我的桌子是“cursadas”、“usuarios”和“Materialas” “cursadas”包括:(id、用户id[是表“usuarios”中“id”列的外键]、主题id[是表“Materials”中“id”列的外键]、等级、日期) “usuarios”包括:(id、用户名、姓名、姓氏、密码、类型、状态、日期) “材料”包括:(id、职业id、姓名、描述、时间) 这是我的桌子“usuarios”: 我还做了另一个程序,从表“usuarios”和“materialas”中获取数据,并将这些信息放入表“cursadas”中 这是我的最后一个表“cursadas”(表“Materialas”和“usuarios”中的数据) 现在,我想做点新东西。使用登录系统和我的表“cursadas”。如果一个简单的用户(不是ADMIN-i意思是(“type”=1,“status”=1))该用户名必须能够看到他们存储在表“cursadas”中的信息 如果登录系统中写入的用户名和密码仅对应于简单用户(“类型”=1,“状态”=1),则必须显示一个包含登录系统中写入的用户名信息的表格 看一看,我需要这样的东西: 注意:在这种情况下,只有一个用户名,但我将添加更多具有条件(“type”=1和“status”=1)的用户,每次我使用不同的用户名和密码登录时,都必须显示一个包含不同用户名信息的表 这是我的登录代码: 我的视图文件(“登录表单”):Php 登录codeigniter后的条件获取数据,php,codeigniter,login,fetch,Php,Codeigniter,Login,Fetch,我制作了一个登录系统,可以验证用户是管理员还是简单用户 我的桌子是“cursadas”、“usuarios”和“Materialas” “cursadas”包括:(id、用户id[是表“usuarios”中“id”列的外键]、主题id[是表“Materials”中“id”列的外键]、等级、日期) “usuarios”包括:(id、用户名、姓名、姓氏、密码、类型、状态、日期) “材料”包括:(id、职业id、姓名、描述、时间) 这是我的桌子“usuarios”: 我还做了另一个程序,从表“usu
登录
这是你想要的ERD
您的案例是一个基于角色的用户登录/环境的简单示例。现在,如果你能看看这个。您将对创建良好的基于角色的登录以及如何在Codeigniter会话中保留用户详细信息的代码和结构有坚实的理解
成功登录后,您需要创建模型函数,在控制器中调用它,通过该控制器呈现当前用户仪表板/视图,然后将该数据发送到从模型函数获得的视图
例如,在控制器中。为家做一个活动
public function home()
{
$data['record']=$this->M_login->getDetails();
$this->load->view('home',$data);
}
在模型中创建一个获取详细信息的函数
public function getDetails()
{
$st=$this->db->SELECT('cursadas.*, usuarios.name as usuarios, materias.name as materias_name')->from('cursadas')
->join('usuarios','usuarios.id=cursadas.user_id')
->join('materias','materias.id=cursadas.subject_id')
->WHERE('cursadas.user_id=',$this->session->userdata['id'])
->get()->result_array();
return $st[0]; // or use the row function
}
在你看来,使用$record的相应索引不要存储纯文本密码问题中有很多不必要的细节,根本不需要。除了为了安全而重新构建项目之外,您只需要一个查询就可以从表中获取所需的记录,并请在会话中保持用户的状态。那么,我该怎么做呢?朋友,我有点头晕:/@MalikMudassar真的不知道该怎么做:/Mate,但是索引应该是什么?你是说这个?是的,但是首先转储数组以查看索引的正确拼写。或者你可以打印,你帮了我很多!,但是你能帮我弄清楚索引的问题吗..我不太习惯,我不明白:S.在这种情况下我该怎么办?看,$record是你传递给视图的数组。根据我的查询,索引将类似于$record[id]、$record[usuarios]、$record[Materialas_name],然后是等级和状态,如果您想以用户和主题的身份获取它们的标签,只需在查询中将它们的名称更改为“usuarios.name as user”
<?php
class M_login extends CI_Model{
public function proceso_login($user,$pass){
$this->db->where('username', $user);
$this->db->where('password', $pass);
return $this->db->get('usuarios')->row();
}
}
?>
<html>
<head>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<h2 align="center">TABLE:Study</h2>
<input id="busqueda_tabla" type="text">
<table class="table table-hover" align="center" border="1" cellspacing="0" cellpadding="0" width="700" id="tabla_busqueda">
<thead>
<th>id</th>
<th>User</th>
<th>Subject</th>
<th>Grade</th>
<th>Date</th>
<th>Action</th>
</thead>
<tbody>
<?php
if (count($records) > 0 && $records != false) {
foreach($records as $record) {
echo "<tr>
<td>".$record['ID']."</td>
<td>".$record['User']."</td>
<td>".$record['name']."</td>
<td>".$record['grade']."</td>
<td>".$record['date']."</td>
<td align='center'>
<a href='".site_url('Home/editar')."/$record[ID]'>
<button type='button' class='btn btn-primary'>EDITAR</button></a> |
<a href='".site_url('Home/borrar')."/$record[ID]'>
<button type='button' class='btn btn-danger'>BORRAR</button></a>
</tr>";
}
}
?>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
<?php
class Home extends CI_Controller{
public function __construct(){
parent::__construct();
$this->load->model("Crudmodel");
}
public function index(){
# get all data in Study table
$query = $this->db->query('SELECT a.id ID,b.username User, c.name, a.grade, a.date FROM cursadas a JOIN usuarios b ON a.user_id=b.id JOIN materias c ON c.id=a.subject_id');
$result = $query->result_array();
$data['records'] = $result;
$this->load->view('home', $data);
}
public function home()
{
$data['record']=$this->M_login->getDetails();
$this->load->view('home',$data);
}
public function getDetails()
{
$st=$this->db->SELECT('cursadas.*, usuarios.name as usuarios, materias.name as materias_name')->from('cursadas')
->join('usuarios','usuarios.id=cursadas.user_id')
->join('materias','materias.id=cursadas.subject_id')
->WHERE('cursadas.user_id=',$this->session->userdata['id'])
->get()->result_array();
return $st[0]; // or use the row function
}