我不是Codeignator的专家。我在youtube上观看视频并在google上浏览,并找到一些很好的教程来理解Codeignator。 我在存档记录上遇到了问题。
我的存档活动有时有时无效。我的意思是,我点击了2次以上然后工作,有些时间没有工作。
Not even archive, I am getting the issue on pending, view etc
从每个步骤的开始到结束详细解释。
控制器
public function employee_list(){
$get_emp_data['get_emp_records'] = $this->Employee_model->get_emp_records(); //getting all the employee records
$this->load->view('employee_list',$get_emp_data);//sending all the employee details in the employee list page
}
员工列表视图页
<?php if (!empty($get_emp_records)) {?>
<table class="table " >
<thead>
<tr>
<th>Employee Name</th>
<th>Designation</th>
<th>Role</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<?php
foreach ($get_emp_records as $row)
{ $encryption_id=$this->encryption->encrypt($row->id);//encrpt the id ?>
<tbody>
<tr>
<td><?php echo $row->firstname; echo $row->lastname;?></td>
<td><?php echo $row->designation;?></td>
<td><?php echo $row->access_role;?></td>
<?php if ($row->is_approved == 1): ?>
<td><a href="javascript:void(0)">Approved</a></td>
<?php else: ?>
<td><a href="<?php echo site_url('Employee_control/approved_user?key='.$encryption_id)?>">Pending</a></td>
<?php endif; ?>
<td><a href="<?php echo site_url('Employee_control/get_employee_edit?key='.$encryption_id)?>">View</a>
<a href="<?php echo site_url('Employee_control/employee_archive?key='.$encryption_id)?>">Archive</a>
</td>
</tr>
</tbody>
<?php }
?>
</table>
<?php }else{echo "No record found";}?>
获取输出
直到现在,如果没有加密其正常工作的ID,我就不会有任何问题。
现在我做了什么我设置了id加密,我的步骤是
1) autoload.php($autoload['libraries'] = array('database','session','form_validation','encryption');) // I added
2) config.php($config['encryption_key'] = 'hex2bin(9753b368fe0da4efec19ec55ff0b8407)';)// added encription key. I created using $key = bin2hex($this->encryption->create_key(16));
3)I added in the view(employee list)$encryption_id=$this->encryption->encrypt($row->id);//encrpt the id
现在,当管理员点击存档时,它将重定向我在下面添加的控制器
控制器
public function employee_archive(){
$archive_key_id=$this->encryption->decrypt($this->input->get('key'));//getting the value rom URl and decryting it.
$archive_emp['archive_emp'] = $this->Employee_model->employee_archive($archive_key_id); //updating the is_archve field and approved date
redirect("Employee_control/employee_list");
}
模型
public function employee_archive($archive_key_id){
$data = array(
'is_archive' => 1,
'archived_date' => $this->current_date,
'archive_by' => $this->session->userdata['login_session']['id']
);
$this->db->where('id', $archive_key_id);
$this->db->update('tbl_employee', $data);
}
有时归档活动有时无法正常工作。我认为我的加密存在一些问题,因为没有加密它可以很好地工作。
另外,每当我刷新页面时都要检查它是否更改了加密ID。
希望你们理解我的问题。 你能在这个问题上帮助我吗?
提前致谢
答案 0 :(得分:-2)
最后,我找到了答案。
请建议我寻求最佳答案。
我尝试了base64_encode()
和base64_decode()
员工列表视图页
我添加了
$encryption_id=base64_encode($this->encryption->encrypt($row->id));//encrpt the id
并解码
$approved_key_id=$this->encryption->decrypt(base64_decode($this->input->get('key')));//getting the value from URl
它对我来说非常合适。