2010-03-17 98 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