2017-02-21 20 views
0

Так что, ребята, я новичок в PHP ООП

я делаю Вход с ролями, и сделать функцию (checkrole) для зная, какую роль она.

Это как моя функция выглядит

public static function hasadmin() 
{ 
    if(session_id() == '') { 
    session_start(); 
    } 
    if(isset($_SESSION['role']) == 'A') { 
    return true; 
    } 
} 

и вызвать его в навигационной панели парциального:

<?php if (helper::login() == true && helper::hasadmin() == true) { ?> 
<li style="float:\right"><a href="?controller=auth&action=logout">Logout</a></li> 
<li><a href="?controller=admin&action=petugas">Petugas</a></li> 
<li><a href="?">Laporan</a></li> 

Функция helper::login работает отлично. Каждый раз, когда я вхожу в систему с другой ролью, часть (petugas, laporan) все еще выходит.

+0

Где вы устанавливаете '$ _SESSION ['role']'? –

+0

@RemcovanOs на этапе входа в систему –

+0

см. Комментарий @ chris85 для решения. –

ответ

1

isset возвращает логическое значение. Запустите issetи проверьте фактическое значение.

if(isset($_SESSION['role']) && $_SESSION['role'] == 'A') {