CDONTS E-Mail Form using an Array w/ASP Validation:
Click here
to test this script.
Code:
default.asp
*
Highlight
<%option explicit%> <% dim smtp dim emailto dim name dim emailfrom dim emailsubject dim emailbody dim extrafield dim errorStr dim origQueryString dim item dim x dim y dim z %>
<%if request.querystring("email") = "sent" then%>
Your e-mail has been sent!
<%end if%> <% '------------------------------------------------------------- 'Define required fields dim requiredfields(2) requiredfields(0) = "name" requiredfields(1) = "emailto" requiredfields(2) = "emailfrom" '------------------------------------------------------------- '------------------------------------------------------------- 'Define error messages for required fields dim errorcodes(2) errorcodes(0) = "To (name)" errorcodes(1) = "To (email)" errorcodes(2) = "From (email)" '------------------------------------------------------------- if request.querystring("form1") <> "" then '------------------------------------------------------------- 'Define non-required form fields dim otherfields(2) otherfields(0) = "emailsubject" otherfields(1) = "emailbody" otherfields(2) = "extrafield" '------------------------------------------------------------- for x = lbound(requiredfields) to ubound(requiredfields) if len(trim(request(requiredfields(x)))) > 0 then if len(trim(origQueryString)) > 0 then origQueryString = origQueryString & "&" & requiredfields(x) & "=" & request(requiredfields(x)) else origQueryString = requiredfields(x) & "=" & request(requiredfields(x)) end if else if len(trim(errorStr)) > 0 then errorStr = errorStr & "," & requiredfields(x) else errorStr = requiredfields(x) end if end if Next for y = lbound(otherfields) to ubound(otherfields) if origQueryString = "" then origQueryString = otherfields(y) & "=" & request(otherfields(y)) else origQueryString = origQueryString & "&" & otherfields(y) & "=" & request(otherfields(y)) end if Next if errorStr <> "" then response.redirect "default.asp?errorStr=" & errorStr & "&" & origQueryString end if emailto = request.querystring("emailto") emailfrom = request.querystring("emailfrom") emailsubject = request.querystring("emailsubject") emailbody = "Hi," & space(1) & request.querystring("name") & vbcrlf & vbcrlf emailbody = emailbody & request.querystring("extrafield") & vbcrlf & vbcrlf emailbody = emailbody & request.querystring("emailbody") & vbcrlf & vbcrlf emailbody = emailbody & space(2) & "Thank You, " & emailfrom set smtp = server.createobject("cdonts.newmail") smtp.to = emailto smtp.from = emailfrom smtp.subject = emailsubject smtp.body = emailbody smtp.send set smtp = nothing response.redirect "default.asp?email=sent" %> <%else%>
<% if request.querystring("errorStr") <> "" then response.write("
The following fields are required:
") For z = lbound(errorcodes) to ubound(errorcodes) if InStr(request("errorStr"), requiredfields(z)) then response.write("
" & errorcodes(z) & "
") end if Next response.write("
") end if %>
size=2 face=arial>
To (name):
">
size=2 face=arial>
To (email):
">
size=2 face=arial>
From (email):
">
Subject:
">
Extra Field:
">
Message Body:
<%end if%>
*Un-comment <textarea> input