LDAP (Lightweight Directory Access Protocol) provides a way of storing data such as Directory information (or White Page information).
The University of Durham's LDAP server enables anyone who has access to the WWW to find out the e-mail address and phone number of members of the University. Here is a WWW form that asks the visitor to the WWW page to type in part of a person's name:
0114: <HTML><BODY> 0115: <FORM METHOD="POST" ACTION="ldap.php"> 0116: To search for someone from an LDAP server, 0117: type in the name of the server: 0118: <INPUT TYPE="text" NAME="server"> 0119: <P> 0120: type in the search base: 0121: <INPUT TYPE="text" NAME="search_base"> 0122: <P> 0123: type in part of their surname: 0124: <INPUT TYPE="text" NAME="part_name"> 0125: <P> 0126: <INPUT TYPE="submit" VALUE="Run query"> 0127: </FORM> 0128: </BODY></HTML>
And here is some PHP code to access the LDAP server. It uses six functions:
Here is the code of the ldap.php script:
0129: <HTML><BODY>
0130: <?php
0131: $server = $_POST["server"];
0132: $search_base = $_POST["search_base"];
0133: $part_name = $_POST["part_name"];
0134: $c_result = ldap_connect("$server");
0135: $b_result = ldap_bind($c_result);
0136: $s_result = ldap_search($c_result, "$search_base", "cn=*$part_name*");
0137: $info = ldap_get_entries($c_result, $s_result);
0138: $numrows = $info["count"];
0139: if ( $numrows == 0 ) {
0140: echo "<P>There is no entry with a name of $part_name</P>";
0141: echo "</BODY></HTML>";
0142: ldap_close($c_result);
0143: exit;
0144: }
0145: ?>
0146: <TABLE BORDER="1">
0147: <?php
0148: for ($rownum = 0; $rownum<$numrows; $rownum++) {
0149: ?>
0150: <TR>
0151: <TD>
0152: <?php echo $info[$rownum]["cn"][0]; ?>
0153: </TD>
0154: <TD>
0155: <?php echo $info[$rownum]["ou"][0]; ?>
0156: </TD>
0157: <TD>
0158: <?php echo $info[$rownum]["telephonenumber"][0]; ?>
0159: </TD>
0160: <TD>
0161: <?php
0162: echo "<A HREF=mailto:";
0163: echo $info[$rownum]["mail"][0];
0164: echo ">";
0165: echo $info[$rownum]["mail"][0];
0166: echo "</A><BR>";
0167: ?>
0168: </TD>
0169: </TR>
0170: <?php
0171: }
0172: ?>
0173: </TABLE>
0174: <?php
0175: ldap_close($c_result);
0176: ?>
0177: </BODY></HTML>
Go to the WWW form at: http://www.dur.ac.uk/barry.cornelius/papers/phpintro/code/ldap.htm