我尝试使用函数ldap_mod_replace通过PHP接口更改LDAP用户的密码。我现在正在尝试的是,我有一个窗口,我有2个文本字段密码和密码重复。通过单击保存按钮,将执行功能保存。但现在有些事情不能正常工作,我不知道为什么......我不需要对密码进行编码。
这是changeuser
类
require_once("define/config.php");
$ds = ldap_connect(LDAP_IP);
$ldap_user = LDAP_USR;
$ldap_pass = LDAP_PASS;
$dn ="cn=" . $_GET['u'] . ",ou=Users," . LDAP_BASE;
$r = ldap_bind($ds, $ldap_user, $ldap_pass);
if (isset($_POST['save'])) {
echo "save";
save();
} elseif (isset($_POST['back'])) {
back();
}
function save()
{
echo "0";
$newPassword = $_POST['newPassword'];
$repeatNewPasword = $_POST['repeatNewPasword'];
$userdata = array('Users' => $newPassword);
if ($repeatNewPasword == $newPassword) {
ldap_mod_replace ($ds, $dn, $userdata);
echo "Sucess, $ds, $dn, $userdata";
} else {
echo "Passwords are different";
}
}
function back()
{
echo "back";
}
答案 0 :(得分:0)
一些事情:
$ds
函数$dn
,save()
等
$useradata
数组当然不应该使用'Users'作为密钥,而是使用密码字段的名称ldap_last_error()
吗?