2015-07-14 2 views
1

Что не так с кодом ниже? Я изменил имя домена и сервера и т. Д. В целях конфиденциальности.PHP LDAP показывает пустой экран

Код просто показывает пустую страницу, когда он должен показывать, по крайней мере, отвалы VAR?

<?php 

if(isset($_SERVER['AUTH_USER']) && isset($_SERVER['AUTH_PASSWORD'])){ 

    $adServer = "ldap://OURSERVER"; 

    $ldap = ldap_connect($adServer); 
    $username = $_SERVER['AUTH_USER']; 
    $password = $_SERVER['AUTH_PASSWORD']; 
    $shortname = explode('\\', $_SERVER['AUTH_USER'])); 

    ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); 
    ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0); 

    $bind = @ldap_bind($ldap, $username, $password); 


    if ($bind) { 
     $filter="(sAMAccountName=$shortname)"; 
     $result = ldap_search($ldap,"dc=OURDOMAIN,dc=local",$filter); 
     ldap_sort($ldap,$result,"sn"); 
     $info = ldap_get_entries($ldap, $result); 
     for ($i=0; $i<$info["count"]; $i++) 
     { 
      if($info['count'] > 1) 
       break; 
      echo "<p>You are accessing <strong> ". $info[$i]["sn"][0] .", " . $info[$i]["givenname"][0] ."</strong><br /> (" . $info[$i]["samaccountname"][0] .")</p>\n"; 
      echo '<pre>'; 
      //var_dump($info); 
      var_dump($_SERVER); 
      echo '</pre>'; 
      $userDn = $info[$i]["distinguishedname"][0]; 
     } 
     @ldap_close($ldap); 
    } else { 
     $msg = "Invalid credentials. For more information please contact PHONENUMBER."; 
     echo $msg; 
    } 

}else{ 
?> 
    <form action="#" method="POST"> 
     <label for="username">Username: </label><input id="username" type="text" name="username" /> 
     <label for="password">Password: </label><input id="password" type="password" name="password" />  <input type="submit" name="submit" value="Submit" /> 
    </form> 
<?php } ?> 
+0

Добавьте сообщение об ошибках в начало вашего файла (ов) сразу после открытия '

+0

@JayBlanchard Я добавил это, и он не показывает никаких ошибок, просто пустой экран снова. – Jack

+0

Включает ли ваш код условие if? –

ответ

0

Я разработал исправление:

Изменения к линии 10 следующим образом: $ короткое_имя = взрываются ('\', $ _SERVER [ 'AUTH_USER']);

и строка 19: $ filter = "(sAMAccountName = $ shortname [1])";

Смежные вопросы