php If语句作为函数内部的返回值

时间:2017-10-23 23:24:05

标签: php html function if-statement return

我有一个功能来查看用户的角色。它在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 &gt;</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()执行此操作?

非常感谢任何帮助。

1 个答案:

答案 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>"
}