Php 用于检测用户是否是特定用户组成员的自定义代码存在小问题
我有下面的代码,它检测用户是否是某个Joomla用户组的成员,并显示用户的相关链接 这对于1个用户组非常有效,但是当一个用户是多个用户组的成员时,按钮会根据该用户所属的用户组数量重复 因此,例如,如果用户是4个用户组的成员,则按钮将显示4次(如果用户是用户组的成员,例如“Usergroup001”,则显示的4个按钮中的1个将是“开始”按钮(根据循环)) 我希望按钮只显示一次,不管用户是多少个用户组的成员Php 用于检测用户是否是特定用户组成员的自定义代码存在小问题,php,mysql,if-statement,usergroups,Php,Mysql,If Statement,Usergroups,我有下面的代码,它检测用户是否是某个Joomla用户组的成员,并显示用户的相关链接 这对于1个用户组非常有效,但是当一个用户是多个用户组的成员时,按钮会根据该用户所属的用户组数量重复 因此,例如,如果用户是4个用户组的成员,则按钮将显示4次(如果用户是用户组的成员,例如“Usergroup001”,则显示的4个按钮中的1个将是“开始”按钮(根据循环)) 我希望按钮只显示一次,不管用户是多少个用户组的成员 <?php $user_ = JFactory::getUser(); $db
<?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
}
?>
如果有人能帮上忙,请提前多谢 在数组中尝试
if(在数组($grp,'Usergroup001')):?>
也许这会奏效:
<?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; ?>
Hi,非常感谢您的回复/帮助,尽管不幸的是按钮仍然显示(用户是用户组成员的次数(如果用户是4个用户组的成员,则按钮显示4次)…此外,如果用户是“Usergroup001”的成员,则您的代码没有提供正确的开始按钮。为了澄清您修改的代码,无论用户是否是该用户组的成员,所有按钮都是“注册”。对于这个坏消息,我深表歉意,非常感谢您的帮助!!!!!!!!!!!!!!!!!!!!!!!!!!!:@jimmywiddle try nowHi,是的,我确实发现了缺失的结束括号并添加了它,但我很抱歉地说,我担心它不起作用,再次感谢您的时间和帮助!!!完成了,再次感谢!我想知道,因为我需要在一个页面中运行此代码几次,我认为每次运行db查询都会占用大量资源,我正在尝试删除查询,但到目前为止运气不佳,再次感谢您的帮助!)再次感谢!
<?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; ?>