填充php变量ldap

填充php变量ldap,php,variables,ldap,variable-assignment,Php,Variables,Ldap,Variable Assignment,我是PHP新手,希望使用名为“mail”的LDAP属性填充变量$email。我已使用此代码执行此操作: $email=$info[$i][“邮件”][0] 但是,我没有得到任何返回值。这是填充变量$email的正确语法吗?如果不是,有人能告诉我如何使用ldap属性“mail”填充$email变量吗 当我执行echo语句打印ldap属性时,我能够看到如下值: 名字:吉姆 姓:史密斯 电邮:jimsmith@mycompany.com 谢谢,非常感谢 代码如下: <?php error_

我是PHP新手,希望使用名为“mail”的LDAP属性填充变量$email。我已使用此代码执行此操作:

$email=$info[$i][“邮件”][0]

但是,我没有得到任何返回值。这是填充变量$email的正确语法吗?如果不是,有人能告诉我如何使用ldap属性“mail”填充$email变量吗

当我执行echo语句打印ldap属性时,我能够看到如下值:

名字:吉姆 姓:史密斯 电邮:jimsmith@mycompany.com

谢谢,非常感谢

代码如下:

<?php
   error_reporting(E_ALL);
   $connect;
   $ldap_host='xxxx.mycompany.com';
   $ldap_admin_dn='cn=xxxxx,ou=xxxxxx,ou=aaa,ou=administrators,dc=xxxx,dc=ca';
   $ldap_pass='#####';
   $ldap_basedn='ou=people, dc=xxxx, dc=com';
    if(!($connect = ldap_connect($ldap_host))){
         die("Could not connect to $ldap_host");
    }

    if(!($bind = ldap_bind($connect, $ldap_admin_dn, $ldap_pass))){
        die("Could not bind to $connect");
    }

    $netlinkID = "test";
    $search = ldap_search($connect, $ldap_basedn, "uid=$netlinkID");
    $info = ldap_get_entries($connect, $search);

    for ($i=0; $i<$info["count"]; $i++) {
       echo"<h3>Requestor Info</h3>";
       echo "<div class=\"col1\">First Name:" . "<span class=\"req-firstname\">" . $info[$i]["givenname"][0]. "</span></div>";
       echo "<div class=\"col1\">Last Name:" . "<span class=\"req-lastname\">" . $info[$i]["sn"][0]. "</span></div>";
       echo "<div class=\"col1\">Email: " . "<span class=\"req-email\">" . $info[$i]["mail"][0]. "</span></div>";

     //How to populate variable email to get value from the LDAP Mail attribute
     $email = $info[$i]["mail"][0];
     }

ldap_close($connect);
?>

尝试执行以下操作:

...
$info = ldap_get_entries($connect, $search);
print_r($info);
for ($i=0; $i<$info["count"]; $i++) {
...
。。。
$info=ldap\u get\u条目($connect,$search);
打印(信息);

对于($i=0;$i检查
ldap\u count\u entries($connect,$search)
返回的内容,如果它返回0,那么您没有任何与您的搜索匹配的条目。Hi ldap\u count\u entries($connect,$search)返回1条记录。您好,非常感谢,这似乎起到了作用。我不确定提取函数到底是如何工作的。有人能解释一下吗?
for ($i=0; $i<$info["count"]; $i++) {
extract($info[$i]);
$email = $mail[0];
   echo"<h3>Requestor Info</h3>";
   echo "<div class=\"col1\">First Name:" . "<span class=\"req-firstname\">" . $givenname[0]. "</span></div>";
   echo "<div class=\"col1\">Last Name:" . "<span class=\"req-lastname\">" . $sn[0]. "</span></div>";
   echo "<div class=\"col1\">Email: " . "<span class=\"req-email\">" . $email. "</span></div>";

 //How to populate variable email to get value from the LDAP Mail attribute
 }