Updating a directory entry
The cfldap tag lets you change the values
of entry attributes. To do so, you specify the entry DN in the dn attribute,
and list the attributes to change and their new values in the attributes attribute.
The following example builds on the code that adds and deletes
an entry. It can update one or more of an entry’s attributes. Because
the UID is part of the DN, you cannot change it.
Open update_ldap.cfm, which you created in Adding a directory entry.
Between the cfelseif block and the </cfif tag, add the following
code:
<cfelseif Form.action is "Update">
<cfset attributelist="cn=#Trim(form.FullName)#; sn=#Trim(Form.surname)#; mail=#Trim(Form.email)#;
telephonenumber=#Trim(Form.phone)#">
<cfldap action="modify"
modifytype="replace"
attributes="#attributeList#"
dn="uid=#Trim(Form.UID)#, ou=People, o=Airius.com"
server=#myServer#
username=#myUserName#
password=#myPassword#>
<cfoutput><h3>Entry for User ID #Form.UID# has been updated</h3>
</cfoutput>
At the end of the code for the Delete button (the input tag
with Value=Delete at the bottom of the form),
delete the </td> mark.
After the end of the Delete button input tag,
add the following code:
 
<input type="Submit"
name="action"
value="Update"
tabindex="9"></td>
Save the file and run it in your browser.
Reviewing the code
The following table describes the code:
Code
|
Description
|
<cfelseif Form.action is "Update">
<cfset attributelist="cn=#Trim(form.FullName)#; sn=#Trim(Form.surname)#; mail=#Trim(Form.email)#;
telephonenumber=#Trim(Form.phone)#">
<cfldap action="modify"
modifytype="replace"
attributes="#attributeList#"
dn="uid=#Trim(Form.UID)#, ou=People, o=Airius.com"
server=#myServer#
username=#myUserName#
password=#myPassword#>
<cfoutput><h3>Entry for User ID #Form.UID# has been updated</h3>
</cfoutput>
|
If the user clicks Update, sets the attribute
list to the form field values and replaces the attributes for the
entry with the specified UID.
Displays a message to indicate
that the entry was updated.
This code replaces all of the
attributes in a form, without checking whether they are blank. A
more complete example would check for blank fields and either require
entered data or not include the corresponding attribute in the attributes string.
|
 
<input type="Submit"
name="action"
value="Update"
tabindex="9"></td>
|
Defines the Submit button for the update
action.
|