2010-03-17 30 views
1

下面的代码将搜索域控制器内的用户,但我想显示在这些变量中记录的每个事物的信息:“displayname”,“mail”, “SAM帐户名”,“SN”,“给定名称”,“部门”,“telephonenumber”需要在活动目录中显示用户的信息

$dn = "dc=xxx,dc=xxx"; 
$justthese = array("displayname","mail","samaccountname","sn","givenname","department","telephonenumber"); 

$sr=ldap_search($ldapconn, $dn,'SAMAccountName=username', $justthese); 

$info = ldap_get_entries($ldapconn, $sr); 

echo "<h3>".$info["count"]." entries returned</h3>"; 

foreach($justthese as $key=>$value){ 
    print '<p><strong>'.$value.'</strong></p>'; 
} 

它显示了$ justthese阵列中的每个项目,我想显示该用户在记下的每个事物的信息$ justthese数组。

现在,它输出这样的:

显示名称

邮件

SAM帐户

SN

给定名称

部门

电话号码

我希望它有实际的数据在它的权利,我知道我做错了foreach循环,任何帮助表示赞赏。

所以它会看起来像这样

显示名称查

邮件[email protected]

SAM帐户查克·诺里斯

SN chuckisthebest

给定名称查克·诺里斯

Secu部门RITY

telephonenumber 555-555-5555

回答

1

假设你$info的回报只是一个用户(虽然你可能应该遍历用户数组或至少print_r它,看看它的返回)

foreach($justthese as $key=>$value){ 
    print '<p><strong>'.$value.' ' . (isset($info[0][$value]) ? $info[0][$value] : 'empty') . '</strong></p>'; 
} 
0

你不是简单地循环槽错阵列?你可能想循环低谷$ info我想?

+0

我试图找到AD,检查中的用户他们是什么群组的成员,因为我试图限制小组的访问权限,例如只有教师,工作人员和学生才能访问页面 - 所以我需要弄清楚该用户属于哪个组,然后运行它通过一个条件来确保他们的组与他们当前所在的页面指定的组相匹配,如果为false,则拒绝他们访问。 – Brad 2010-03-17 16:50:43