簡體   English   中英

PHP遞歸搜索/ LDAP

[英]PHP Recursive Search/LDAP

在執行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>";
        }

出於某種原因,我收到Notice:Undefined offset:1 inNotice:Undefined offset:2 in Notices。 我不只是想將其靜音,我想修復該通知。

請幫忙。

固定。

     for ($ii=0; $ii<count($ldap_results[0]["sponsorid"][0]); $ii++) {

固定。

     for ($ii=0; $ii<count($ldap_results[0]["sponsorid"][0]); $ii++) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM