\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是我們建立的新數(shù)組,里面包括有查詢的結(jié)果,并且被格式化用作輸出。首先循環(huán)$result_array中的每個元素,并且將它分配給一個兩維的數(shù)組用作排序。同時我們使用strtolower()函數(shù)將所有的值變?yōu)樾憽?/P>
我們使用PHP自帶的一個稱為sort()的函數(shù)進行排序。首個參數(shù)是要排序的數(shù)組,另一個是要執(zhí)行的排序類型,該類型是由PHP的文檔定義的。由于我們根據(jù)字符串排序,我們使用“SORT_STRING”。
我們循環(huán)已經(jīng)格式化好的數(shù)組,并且將它分配給一個名字為$result_list的輸出字符,該字符包含了HTML描述。要特別注意的是,在超鏈接中,我使用的是ldap的URL格式。這個格式的例子類似:
HREF="ldap://ldap.domain.net/uid=dannie,dc=domain.net"。
關(guān)閉連接:
現(xiàn)在我們所有的數(shù)據(jù)已經(jīng)包含在$result_list中了,我們可以安全地關(guān)閉LDAP的連接。
<?php
//關(guān)閉連接
ldap_close($connect_id);
?>
定制搜索界面的HTML表格:
最后,我們要定制搜索用的HTML表格,它是用來給用戶執(zhí)行搜索的。
<?php
//定制表格
echo " <CENTER><FORM action='\"$PHP_SELF\"' method='\"GET\"'>";
echo "Search in:<SELECT name='\"SERVER_ID\"'>"; //循環(huán)以建立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是一個全局的常量,代表的是腳本頁面自身,其中的循環(huán)是用來通過我們的$LDAP_NAME變量創(chuàng)建SELECT選項。
顯示結(jié)果:
現(xiàn)在所有的工作已經(jīng)完成了,我們將打印出結(jié)果集。如果沒有符合的結(jié)果,將會顯示"No Results"的信息。
<?php
//顯示結(jié)果
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文檔,就可以嘗試一下了。
本新聞共
5頁,當(dāng)前在第
3頁
1 2 3 4 5