我想知道在我的视图中限制用户访问内容的某些部分的最佳做法是什么。我正在使用CodeIgniter。当用户登录时,我在会话中设置用户数据,如下所示:
控制器
$this->session->set_userdata('user_id', $user_id);
//..
$this->load->view('view');
现在在视图中有两个DIV
。一个人应该对所有人都可见,另一个人只能对管理员或模组可见。以下是代码。
查看
<div id="log_out">
//visible to everybody
</div>
//Is it possible to put this div as a part of if function? Something like this:
//if <php $this->session->userdata('user_id') ?>
<div id="user_management">
//only visible to admin
</div>
//And how would I enclose the part that is restricted?
或者这应该完全不同吗?我应该存储用户当前登录的位置。如果是常规用户,admin或mod?提前感谢大家阅读和回复。
答案 0 :(得分:1)
我认为更好的解决方案是将该视图划分为2个单独的视图。然后签入控制器,如果用户是管理员(从会话中读取),如果是,则加载两个视图,如果不是则只加载一个视图。
答案 1 :(得分:0)
只需添加if条件就可以了。在这种情况下,1代表管理员
<?php if($this->session->userdata('usergroup') == '1') : ?>
---------do something---------
<?php endif;?>