note 45102 added to function.iconv
| From: | (pepper) | Date: | Thu, 26 Aug 2004 08:11:26 +0000 |
| Subject: | note 45102 added to function.iconv | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-75300@lists.php.net to get a copy of this message | ||
Âîò òàê ðåøàë ïðîáëåìó îáùåíèÿ ñ LDAP ñåðâåðîì (AD Microsoft)
âåðñèè 3. Â 3 âåðñèè LDAP - èñïîëüçóåòñÿ UTF êîäèðîâêà, âî
âòîðîé áûëà win-1251. Íàäî áûëî îòäàâàòü ñåðâåðó çàïðîñû â
UTF, à çàòåì âîçâðàùàòü êëèåíòàì èõ ëþáèìûé KOI8-R
--------------------------------
search.php
--------------------------------
<p>
<form action="search.php" method="post">
Êðèòåðèè ïîèñêà:<br />
<input type="text" name="keyword" size="20"
maxlength="20" value="" /><br />
Ôèëüòð:<br />
<select name="filter">
<option value="">Âûáåðèòå ïîëå:</option>
<option value="sn">Ôàìèëèÿ</option>
<option value="telephonenumber">Òåëåôîí õ-õõ-õõ</option>
<option value="cn">CN</option>
</select><br />
<input type="submit" value="Ïîèñê!" />
</form>
</p>
<?php
// Designate a few variables
////
$host = "ldaps://192.168.44.44:636";
$user = "in@kkk.loc";
$pswd = "secret";
$dn = "CN=Users,DC=kkk,DC=loc";
$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, $user, $pswd)
or die ("Could not bind");
// Specify only those parameters we're interested in displaying
$attrs = array("displayname","mail","telephonenumber");
// Create the filter from the search parameters
echo $filter = $_POST['filter']."=".iconv("KOI8-R","UTF-8",
$_POST['keyword'])."*";
$search = ldap_search($ad, $dn, $filter, $attrs)
or die ("ldap search failed");
$entries = ldap_get_entries($ad, $search);
if ($entries["count"] > 0) {
for ($i=0; $i<$entries["count"]; $i++) {
echo "<p>Name:
".iconv("UTF-8","KOI8-R",$entries[$i]["displayname"][0])."<br
/>";
echo "Phone: ".$entries[$i]["telephonenumber"][0]."<br />";
echo "Email: ".$entries[$i]["mail"][0]."</p>";
}
} else {
echo "<p>Íè÷åãî íå íàéäåíî!</p>";
}
ldap_unbind($ad);
----
Manual Page -- http://www.php.net/manual/en/function.iconv.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+45102
Delete -- http://master.php.net/manage/user-notes.php?action=delete+45102&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+45102&report=yes
Search -- http://master.php.net/manage/user-notes.php