PHP Ldap

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John vd Kruit

John vd Kruit

07/01/2014 21:50:38
Quote Anchor link
Beste phphulp,

Ik heb een basis scriptje in elkaar gezet voor het doorzoeken van de LDAP.
Het script werkt en ik zie netjes alle gebruikers.. Ik zal nu het liefst willen filteren op samba groep, echter kan ik daar geen goede resources van terug vinden.
Daarom dacht ik; misschien kan ik filteren op of er een telefoonnummer wel of niet is ingevuld.
Ik zit al een tijd te rommelen, en hoop dat jullie mij verder kunnen helpen.
Hier het script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<html>
 <!-- styles -->
 <link href="style.css" rel="stylesheet"> <div id="imp_style" class="imp_form">
 <form action="" method="post">
   <h1>Zoek criteria:</h1><br>
    <input type="text" name="keyword" size="30" maxlength="30" value="" />
    <!--Filter:-->
    <select name="filter">
        <option value="sn">Ik wil zoeken op:</option>
        <option value="givenname">Voornaam</option>
        <option value="sn">Achternaam</option>
        <option value="postalcode">Kantoor</option>
        <option value="gecos">Functie</option>
    </select>
    <input type="submit" value="Zoeken" size="20" />
  </form>
<?php
//if(isset ($_POST['q']) &&!empty($_POST['q']) )
//{
// Designate a few variables

$host = "192.168.60.1";
$user = "";
$pswd = "";

$ad = ldap_connect($host)
      or die( "Could not connect!" );

// Set version number
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3)
     or die ("Could not set ldap protocol");

// Binding to ldap server
$bd = ldap_bind($ad)
      or die ("Could not bind");

// Create the DN
$dn = "ou=Users,dc=****,dc=nl";

// Specify only those parameters we're interested in displaying
$attrs = array("postalcode","cn","givenname","mail","telephoneNumber", "gecos", "description");

// Create the filter from the search parameters
$filter = $_POST['filter']."=".$_POST['keyword']."*";

$search = ldap_search($ad, $dn, $filter, $attrs)
          or die ("");

$entries = ldap_get_entries($ad, $search);

if ($entries["count"] > 0)
    {

    for ($i=0; $i<$entries["count"]; $i++)
    {

       echo "<br>";
       echo "<p><b>Naam: </b>".$entries[$i]["cn"][0]."<br />";
       echo "<b>Functie: </b>".$entries[$i]["gecos"][0]."<br />";
       echo "<b>Kantoor: </b>".$entries[$i]["postalcode"][0]."<br />";
       echo "<b>Mobiel nummer: </b>".$entries[$i]["telephonenumber"][0]."<br />";
       echo "<b>Email: </b><a href=mailto:".$entries[$i]["mail"][0].">".$entries[$i]["mail"][0]."</a></p>";
    }

    }
else {
          echo "<p>Geen resultaten gevonden!</p>";
    }

    
ldap_unbind($ad);
//}
?>

</div>
</html>


Ik hoop uiteraard op bruikbare tips!

Misschien kan er ook iets met als er geen telefoon nummer is, laat dan niks zien.. (ik ben echt een php noob dus geen idee hoe zoiets werkt)

Thanks,

John
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.