我有一个功能来查看用户的角色。它在html文档中非常有用。但我有几个连接到数据库和打印信息的功能。我希望函数的某些部分可供所有用户使用,有些部分仅供管理员使用。现在它正在源文件中打印<?php ?>
。
function isUserInRole($userRole){
$retVal = false;
if ($userRole == $_SESSION['role']) {
$retVal = true;
}
return $retVal;
}
这在html文档中工作正常:
<?php if(isUserInRole('Admin')){ ?>
<?php print "<a href='edit/staffDetailsForm.php?ID=$staffId'><button>Edit ></button></a>" ?>
<?php } ?>
这是一个无效的功能:
function getLabelCodes ($staffId, $staffName, $compId){
$retVal = "";
include "inc/DBconnect.php";
$query = "SELECT l.listName, l.listCode FROM labels AS l INNER JOIN agtLabels AS al ON l.listCode = al.listCode WHERE al.staffId = $staffId AND al.compId = $compId";
if ($result = $mysql->query($query)) {
while ($aRow = $result->fetch_assoc()) {
$listCode = $aRow['listCode'];
$retVal = $retVal . "<li class='remove'><form action='delete/removeStaffLabel.php' method='post' onsubmit='return confirm('Do you really want to remove" . $staffName . "from " . $listCode . "?')'>";
$retVal = $retVal . $aRow['listName'] .
" <input type='hidden' name='staffId' value='" . $staffId . "' />
<input type='hidden' name='compId' value='" . $compId . "' />
<input type='hidden' name='listCode' value='". $listCode . "' />
<input class='remove' type='submit' value='Remove from " . $aRow['listName'] . "' />
</form>
</li>";
}
} return "<?php if(isUserInRole('Admin')){ ?><h3>Label Lists:</h3><a href='edit/staffLabels.php?staffId=" . $staffId . "&compId=" . $compId . "' /><button>Add to Label list</button></a><ul>" . $retVal . "</ul><?php } ?>";
$mysqli->close();
}
我尝试将<?php if(isUserInRole('Admin')){ ?>
位置于返回(现在是)以及$retVal
的一部分。我必须找到一种方法来修复它在函数中,因为我有许多其他相似的函数,我没有真正的方法来进一步分解它们。
源代码打印</contact><comments></comments><?php if(isUserInRole('Admin')) { ?><h3>Label Lists:</h3>
。如何在页面加载完成之前让isUserInRole()
执行此操作?
非常感谢任何帮助。
答案 0 :(得分:1)
你可以在你的功能中完成:
if(isUserInRole('Admin')){
return "<h3>Label Lists:</h3><a href='edit/staffLabels.php?staffId=" . $staffId . "&compId=" . $compId . "' /><button>Add to Label list</button></a><ul>" . $retVal . "</ul>"
}