我有三个会话级别:
session->is_logged_external
session->is_logged_admin
session->is_logged_staff
我有一个小函数(checkLogin
),如果他们没有访问页面所需的会话,我会调用它来显示消息。
正如您所看到的,我在尝试创建一个函数时注释掉了代码,该函数检查会话是否属于这些类别之一,如果是这样,让他们看到页面,如果不显示消息。
public function checkLogin()
{
$logged_admin = $this->session->is_logged_admin;
//$logged_external = $this->session->is_logged_external;
//$logged_staff = $this->session->is_logged_staff;
if(!isset($logged_admin) || $logged_admin != TRUE) {
echo 'Im sorry, you do not have administrator pillages';
echo anchor('main/index', 'Return home');
die();
}
//else if(!isset($logged_external) || $logged_external != TRUE) {
//echo 'Im sorry, you do not have external pillages';
//echo anchor('main/index', 'Return home');
//}
//else if(!isset($logged_staff) || $logged_staff != TRUE) {
//echo 'Im sorry, you do not have staff pillages';
//echo anchor('main/index', 'Return home');
//}
}
这不起作用所以我对代码进行了评论。我的下一个想法是为每个会话创建一个函数,并调用控制器中每个页面所需的函数,但这基本上是重复3次但具有不同会话名称的相同代码,这是正确的做法吗这个 ?
谢谢你们。
想法二的例子
第一个管理员会话功能
public function checkLoginAdmin()
{
$logged_admin = $this->session->is_logged_admin;
if(!isset($logged_admin) || $logged_admin != TRUE) {
echo 'Im sorry, you do not have administrator pillages';
echo anchor('main/index', 'Return home');
die();
}
}
第二个员工会话功能
public function checkLoginStaff()
{
$logged_admin = $this->session->is_logged_staff;
if(!isset($logged_staff) || $logged_staff != TRUE) {
echo 'Im sorry, you do not have staff pillages';
echo anchor('main/index', 'Return home');
die();
}
}
还有第三个是外部的,然后我可以在需要时给每个人打电话,对吗?