php - 用于检测用户是否是特定用户组成员的自定义代码的小问题

标签 php mysql if-statement usergroups

我有以下代码,用于检测用户是否是某个 Joomla 用户组的成员并向用户显示相关链接。

这对于 1 个用户组非常有用,但是当用户是 1 个以上用户组的成员时,按钮会根据该用户所属的用户组数量重复。

因此,例如,如果用户是 4 个用户组的成员,则该按钮将显示 4 次(如果用户是该用户组的成员,例如“Usergroup001”,则显示的 4 个按钮中的 1 个将是“开始” ' 按钮(按照循环))。

我希望按钮只显示一次,无论用户属于多少个用户组。

<?php
$user_  = JFactory::getUser();
$db     = JFactory::getDBO();
foreach($user_->groups as $group){
$query  = 'SELECT title FROM #__usergroups';
$query .= ' WHERE id = ' . $group;
$db->setQuery( $query );
$grp = $db->loadResult();

if ($grp=='Usergroup001') : ?>
<a href="/start">Start</a>

<?php else : ?>
<a href="/sign-up">Sign up to Usergroup 001</a>

<?php endif; ?>
<?php
}
?>

如果有人可以提供帮助,非常感谢!

最佳答案

也许这会起作用:

<?php 
$user_  = JFactory::getUser();
$db     = JFactory::getDBO();
$isMember = false;
foreach($user_->groups as $group){
    $query  = 'SELECT title FROM #__usergroups';
    $query .= ' WHERE id = ' . $group;
    $db->setQuery( $query );
    $grp = $db->loadResult();
    if ($grp=='Usergroup001') { 
        $isMember = true; 
        break; 
    }
}
if ($isMember ) : ?>
    <a href="/start">Start</a>
<?php else : ?>
    <a href="/sign-up">Sign up to Usergroup 001</a>
<?php endif; ?>

关于php - 用于检测用户是否是特定用户组成员的自定义代码的小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41759062/

相关文章:

php - 未定义索引 0 php laravel(可能重复)

php - 解析错误: "syntax error, unexpected ' ;', expecting T_FUNCTION"

php - 如何使用 MySQL PDO 检测数据库名称

sql-server - 如何在Azure数据工厂上使用查询If Else条件?

r - cumsum 与 r 中标记列的重置?

php - 在数据库中保存评级

PHPUnit:测试对象数组

php - 准备好的语句返回错误数 0

c# - MySqlDataReader.GetSchemaTable ColumnOrdinal 是实际数据的+1

sql - CASE vs IF-ELSE-IF vs GOTO 关键字