\n";
}
elseif($dn && $cn && $email)
{
$result_list .= "<A href='/"ldap://$LDAP_SERVER[$SERVER_ID]/$dn/"'>$cn</A>";
$result_list .= " <A href='/"mailto:$email/"'>$email</A>
\n";
=
=
=
else
{
echo "Result set empty for query: $ldap_query";
}
?>
$format_array是我们建立的新数组,里面包括有查询的结果,并且被格式化用作输出。首先循环$result_array中的每个元素,并且将它分配给一个两维的数组用作排序。同时我们使用strtolower()函数将所有的值变为小写。
我们使用PHP自带的一个称为sort()的函数进行排序。首个参数是要排序的数组,另一个是要执行的排序类型,该类型是由PHP的文档定义的。由于我们根据字符串排序,我们使用“SORT_STRING”。
我们循环已经格式化好的数组,并且将它分配给一个名字为$result_list的输出字符,该字符包含了HTML描述。要特别注意的是,在超链接中,我使用的是ldap的URL格式。这个格式的例子类似:
HREF="ldap://ldap.domain.net/uid=dannie,dc=domain.net"。
关闭连接:
现在我们所有的数据已经包含在$result_list中了,我们可以安全地关闭LDAP的连接。
<?php
//关闭连接
ldap_close($connect_id);
?>
定制搜索界面的HTML表格:
最后,我们要定制搜索用的HTML表格,它是用来给用户执行搜索的。
<?php
//定制表格
echo " <CENTER><FORM action='\"$PHP_SELF\"' method='\"GET\"'>";
echo "Search in:<SELECT name='\"SERVER_ID\"'>"; //循环以建立SELECT选项for($i=0;
$i<COUNT($LDAP_NAME); <br $i++=> echo "<OPTION selectedvalue='\"$i\"'>".
$LDAP_NAME[$i]."</OPTION>";
echo "</SELECT>";
echo "Search for:<INPUT name='\"common\"' type='\"text\"'>";
echo "<INPUT name='\"lookup\"' type='\"submit\"' value='\"go\"'>";
echo "(You can use * for wildcard searches, ex. * Stanley will find
all Stanleys)";
echo "</FORM></CENTER>";
?>
代码中的$PHP_SELF是一个全局的常量,代表的是脚本页面自身,其中的循环是用来通过我们的$LDAP_NAME变量创建SELECT选项。
显示结果:
现在所有的工作已经完成了,我们将打印出结果集。如果没有符合的结果,将会显示"No Results"的信息。
<?php
//显示结果
if($result_list)
{
echo " <CENTER><TABLE border='\"1\"' cellPadding='\"10\"' cellSpacing='\"0\"'
BGCOLOR=\"#FFFFEA\" WIDTH=\"450\"> <TBODY><TR><TD>$result_list</TD></TR>
</TBODY></TABLE></CENTER>";
}
else
echo "No Results";
?>
源代码
以下是完整的源代码,只要将它剪切并粘贴到一个HTML文档,就可以尝试一下了。