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 } ?>
Добавьте сообщение об ошибках в начало вашего файла (ов) сразу после открытия ' Php' tag' error_reporting (E_ALL); ini_set ('display_errors', 1); ' –
@JayBlanchard Я добавил это, и он не показывает никаких ошибок, просто пустой экран снова. – Jack
Включает ли ваш код условие if? –