ASP with Access Database (Input Text - Value Display)

M

magix

Hi,

I'm using Access Database with ASP. There is one particular thing that I
have issue with.
My purpose is for user to update their own profile. Their existing profile
information will be display in Edit Form format. The problem is if the field
has space, the second word will not display, when I display in input text
format.

E.g if My first name "User_FirstName" in my table has entry, let say "David
Johnson" as FirstName, when I execute following code and do a input text, it
will display "David" only.

I have following code.

<% Dim MyProfile

Set MyProfile= Server.CreateObject("ADODB.Connection")
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath
("database/users.mdb") & ";Jet OLEDB:Database Password=password"
MyProfile.Open(ConnStr)


SQLtemp = "SELECT * FROM UserAccount WHERE User_UserName = '" &
Request.Cookies("UserName") & "' "
Set rs = MyProfile.Execute(SQLtemp)

while not rs.eof

If Request.Cookies("UserName") = rs("User_UserName") Then

dim Your_FirstName
Your_FirstName = rs("User_FirstName")
dim Your_LastName
Your_LastName = rs("User_LastName")
dim Your_UserName
Your_UserName = rs("User_UserName")
dim Your_Password
Your_Password = rs("User_Password")
dim Your_Email
Your_Email = rs("User_Email")
dim Your_Address
Your_Address = rs("User_Address")
dim Your_City
Your_City = rs("User_City")
dim Your_Country
Your_Country = rs("User_Country")
dim Your_Date_In
Your_Date_In = rs("User_EntryDate")
dim Your_Company
Your_Company = rs("User_Company")
dim Your_Designation
Your_Designation = rs("User_Designation")
dim Your_Phone
Your_Phone = rs("User_Phone")
End If

rs.MoveNext
Wend
rs.Close
MyProfile.Close
set MyProfile = Nothing

%>

....
<td width="118" valign="top"><span class="bold">First
Name:</span></td>
<td width="624" valign="top"><input type="text" name="xFirstName"
size="20" value=<%response.write Your_FirstName %> maxlength="15"></td>

.... This will display "David"



So, if I'm not using input type text to display is, for example,

<td width="118" valign="top"><span class="bold">First
Name:</span></td>
<td width="624" valign="top"><%response.write Your_FirstName %></td>
... This will display "David Johnson"


May I know why ? and how to fix it to display "David Johnson" in input text
format.

Thank you,

Regards,
Magix
 
M

magix

Thanks Dave. It works.

Dave Anderson said:
That is usually because you aren't using attribute quotes.



Exactly. If you look at the generated HTML, you will see:

<input type="text" name="xFirstName" size="20"
value=David Johnson maxlength="15">

I suggest you change three things. The first is just a matter of
convenience:
. Use the <%= %> token for Response.Write
. Use attibute quotes
. Use Server.HTMLEncode when writing something a user may have typed

In short, this will suffice:

<input value="<%=Server.HTMLEncode(Your_FirstName)%>" ...>



--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,073
Latest member
DarinCeden

Latest Threads

Top