Я использую adldap http://adldap.sourceforge.net/Недействительный аргумент для Еогеасп() с помощью adldap
И я передаю сессию с одной страницы на другую, и проверки, чтобы убедиться, что имя пользователя в сессии является членом определенной группы пользователей , для этого примера это группа STAFF.
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
require_once('/web/ee_web/include/adLDAP.php');
$adldap = new adLDAP();
session_start();
$group = "STAFF";
//$authUser = $adldap->authenticate($username, $password);
$result=$adldap->user_groups($_SESSION['user_session']);
foreach($result as $key=>$value) {
switch($value) {
case $group:
print '<h3>'.$group.'</h3>';
break;
default:
print '<h3>Did not find specific value: '.$value.'</h3>';
}
if($value == $group) { print 'for loop broke'; break; }
}
?>
Это дает мне ошибку: Warning: Invalid аргумент поставляются для Еогеасп() в строке 15, которое эта строка кода: Еогеасп ($ результат, как $ ключ => $ значение) {
Когда я раскомментирую код $ authUser = $ adldap-> authenticate ($ username, $ password); и введите соответствующее имя пользователя и пароль, он отлично работает, но мне не нужно, поскольку сеанс действителен, я просто хочу узнать, не совпадает ли имя пользователя, хранящееся в valid_session, группы STAFF.
Зачем мне это проблема?
Я распечатанный переменную и напечатанное соответствующее имя пользователя , $ _SESSION ['user_session'] – Brad
$ result - это не массив, это хорошее начало, чтобы понять, почему это не так. – Brad
@Brad, то это либо эта строка: 'if (! $ This -> _ bind) {return (false); } 'или далее вдоль рекурсивной функции' recursive_groups'. Однако убедитесь, что вы смотрите в своей версии исходного кода adldap. –