进行LDAP搜索,我必须在搜索中进行递归搜索以查找其他用户属性。就像员工搜索和用户搜索中的经理搜索一样。
这是我的代码:
$id_array = preg_split("/[\s,]+/", $_POST["qlids"]);
$ldap_connection = ldap_connect($ldaphost, $ldapport);
if($ldap_connection) {
$ldap_bind = ldap_bind($ldap_connection,$ldapuser,$ldappswd);
if($ldap_bind) {
for($i=0; $i<count($id_array); $i++) {
if(trim($id_array[$i]) != '') {
$ldap_search = ldap_search($ldap_connection, "o=org,c=us", "uniqueid=" . strtolower($id_array[$i]));
$ldap_results = ldap_get_entries($ldap_connection, $ldap_search);
echo "<tr><td>" . $id_array[$i] . "</td>";
if($ldap_results["count"] > 0) {
if(trim($ldap_results[0]["cn"][0]) == '') {
echo "<td colspan=\"10\" class=\"rt\"><strong>ID Retired</strong></td>";
}
else {
echo "<td>" . $ldap_results[0]["cn"][0] . "</td>";
echo "<td>" . $ldap_results[0]["mail"][0] . "</td>";
echo "<td>" . $ldap_results[0]["telephonenumber"][0] . "</td>";
echo "<td>" . $ldap_results[0]["l"][0] . "</td>";
echo "<td>" . $ldap_results[0]["st"][0] . "</td>";
echo "<td>" . $ldap_results[0]["co"][0] . "</td>";
echo "<td>" . $ldap_results[0]["resourceflag"][0] . "</td>";
echo "<td>" . $ldap_results[0]["businesssubgroupname"][0] . "</td>";
echo "<td>" . $ldap_results[0]["businessunitname"][0] . "</td>";
echo "<td>" . $ldap_results[0]["businesssubunitname"][0] . "</td>";
//echo "<td>" . $ldap_results[0]["sponsorid"][0] . "</td>";
for ($ii=0; $ii<count($id_array); $ii++) {
$managersr=ldap_search($ldap_connection, 'o=org, c=us', "uniqueidentifier=".$ldap_results[0]["sponsorid"][0]."");
$managerinfo = ldap_get_entries($ldap_connection, $managersr);
echo "<td>" . $managerinfo[$ii]["uniqueid"][0] . "</td>";
echo "<td>" . $managerinfo[$ii]["cn"][0] . "</td>";
}
//echo "<td>" . $ldap_results[0]["nickname"][0] . "</td>";
}
}
else {
echo "<td colspan=\"10\" class=\"nf\">Not Found</td>";
}
echo "</tr>";
}
}
}
else {
echo "<h1>Authentication Failed</h1>";
}
出于某种原因,我得到注意:未定义的偏移量:中的1和注意:未定义的偏移量:中的2个声明。 我不只是想把它静音,我想解决这个问题。
请帮忙。
已修复。
for ($ii=0; $ii<count($ldap_results[0]["sponsorid"][0]); $ii++) {
答案 0 :(得分:0)
固定。
for ($ii=0; $ii<count($ldap_results[0]["sponsorid"][0]); $ii++) {