Newsgroup: it.comp.www.asp
Titolo: Oggetto CDONTS

In precedenza avevo proposto il quesito ma senza esito. Ci riprovo e scusate
le eventuali improrpietà (non sono un grande esperto.). Riporto, di seguito,
il listato della pagina Asp che processa i dati di inserimento del modulo di
registrazione utente: nel punto che si evidenzia perché ho sottolineato le
linee relative ho inserito queste ultime, con l'oggetto CDONTS, per dare una
risposta di ringraziamento automatica all'utente stesso. Purtroppo, però non
funzionano (il resto è a posto). Ci sarebbe qualcuno che possa evidenziare l
'errore, darmi un suggerimento.? Ringrazio e mi scuso per il tempo che
faccio perdere ma, se sarò in grado (capace), cercherò di apportare anch'io
un maggior contributo nel newsgrup. Questo il listato:
<%
Option Explicit
Dim
sql,rsUser,username,password,passwordconfirm,firstname,surname,email,dob,sex
,notfilled(7),badflag,count,passwordLength,calltype,icon,starsign,dobmonth,d
obday
'Assign form values to variables
username = Request.Form("username")
'Make sure they've not put any quotation marks in their username
If InStr(username,chr(34)) <> 0 or InStr(username,chr(39)) <> 0 then
errorfunction("invalidchars")
end if
firstname = Request.Form("firstname")
surname = Request.Form("surname")
email = Request.Form("email")
sex = Request.Form("sex")
password = Request.Form("password")
passwordconfirm = Request.Form("passwordconfirm")
dob = Request.Form("birth_day") & "/" & Request.Form("birth_month") & "/" &
Request.Form("birth_year")
icon = Request.Form("icon")
'Check everything's been filled in, badflag determines whether error
function is called
badflag = 0
'nofilled() is an array that will store the fields which are not filled in
if firstname = "" then
notfilled(0) = "Nome"
badflag = 1
end if
if surname = "" then
notfilled(1) = "Cognome"
badflag = 1
end if
if email = "" then
notfilled(2) = "Email"
badflag = 1
end if
if username = "" then
notfilled(3) = "Username"
badflag = 1
end if
if password = "" then
notfilled(4) = "Password"
badflag = 1
end if
if sex = "" then
notfilled(5) = "Sesso"
badflag = 1
end if
if IsDate(dob) = "False" then
notfilled(6) = "Data di nascita"
badflag = 1
end if
if icon = "" then
notfilled(7) = "La scelta della tua icona"
badflag = 1
end if
if badflag = 1 then
signuperror()
end if
'Check password length is between 5 and 15 characters long
passwordLength = Len(password)
if passwordLength < 5 or passwordLength > 15 then
errorfunction("length")
end if
'Check password and confirmed password are the same
if password <> passwordconfirm then
errorfunction("confirm")
end if
'Open connection and insert user details into the database
%>
<!--#include file="conn.asp"-->
<%
'For a bit of profiling fun, get their star sign
getstarsign()
'Then add it to the database. It's in a seperate function because we need to
error trap to see if there's been a duplicate entry. It's not good form to
have On Error Resume Next throughout your whole page
UserUpdate()
Function UserUpdate()
On Error Resume Next
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.open "users", conn, 3, 3
rsUser.AddNew
rsUser("username") = username
rsUser("password") = password
rsUser("firstname") = firstname
rsUser("surname") = surname
rsUser("email") = email
rsUser("dob") = dob
rsUser("starsign") = starsign
rsUser("sex") = sex
rsUser("icon") = icon
rsUser.Update
if Err.Number = -
2147217887
 then
Err.clear
errorfunction("badusername")
else
'Set username cookie to sign them in now
Response.Cookies("username") = username
%>
<%
Set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.From="
colep...@tiscalinet.it
"
objMail.To=request.form("email")
objMail.Subject="Grazie"
objMail.Body="Grazie per esserti iscritto a Sitoaperto. Torna a trovarci.
Troverai sempre delle novità. A presto!"
objMail.importance=1
objMail.Send
set objMail=nothing
%>
<html>
<head>
<title>Philweb - Free ASP Applications</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000"
background="sfondoazz.gif">
<font face="arial,helvetica" size=2>
<p><b>Grazie per esserti iscritto <%=firstname%>&nbsp;<%=surname%></b></p>
<p><b>Hai il soprannome di <%=username%> ed ora sei iscritto!</b></p>
<p><a href="index.asp">Clicca qui per tornare alla pagina login</a><p>
</font>
</td>
</tr>
</table>
</body>
</html>
<%
rsUser.close
set rsUser = nothing
conn.close
set conn = nothing
%>
<%
end if
End Function%>
<%
Function getstarsign()
dobmonth = Request.Form("birth_month")
dobday = Request.Form("birth_day")
Select Case dobmonth
Case 1
if dobday < 21 then
starsign = "Capricorno"
else
starsign = "Acquario"
end if
Case 2
if dobday < 20 then
starsign = "Acquario"
else
starsign = "Pesci"
end if
Case 3
if dobday < 21 then
starsign = "Pesci"
else
starsign = "Ariete"
end if
Case 4
if dobday < 21 then
starsign = "Ariete"
else
starsign = "Toro"
end if
Case 5
if dobday < 22 then
starsign = "Toro"
else
starsign = "Gemelli"
end if
Case 6
if dobday < 22 then
starsign = "Gemelli"
else
starsign = "Cancro"
end if
Case 7
if dobday < 24 then
starsign = "Cancro"
else
starsign = "Leone"
end if
Case 8
if dobday < 24 then
starsign = "Leone"
else
starsign = "Vergine"
end if
Case 9
if dobday < 24 then
starsign = "Vergine"
else
starsign = "Bilancia"
end if
Case 10
if dobday < 24 then
starsign = "Bilancia"
else
starsign = "Scorpione"
end if
Case 11
if dobday < 23 then
starsign = "Scorpione"
else
starsign = "Sagittario"
end if
Case 12
if dobday < 22 then
starsign = "Sagittario"
else
starsign = "Capricorno"
end if
End Select
End Function
%>
<%Function signuperror()%>
<html>
<head>
<title>Philweb - Free ASP Applications</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000"
background="sfondoazz.gif">
<font face="arial,helvetica" size=2>
<p><b>Non hai riempito correttamente i seguenti campi:</b></p>
<%for count = 0 to 7%>
<%if notfilled(count) <> "" then%>
<b><%=notfilled(count)%></b><br>
<%end if%>
<%next%>
<p><a href="javascript:self.history.go(-1)">Prova di nuovo</a></p>
</font>
</table>
</body>
</html>
<%Response.end
End Function%>
<%Function errorfunction(calltype)%>
<html>
<head>
<title>Philweb - Free ASP Applications</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000">
<font face="arial,helvetica" size=2>
<%if calltype = "confirm" then%>
<p><b>La password e la conferma della password non corriposndono</b></p>
<p><a href="javascript:self.history.go(-1)">Prova di nuovo</a></p>
</font>
</body>
</html>
<%Response.end%>
<%elseif calltype = "length" then%>
<p><b>La tua password non è compresa tra i 5 e i 15 caratteri di
lunghezza</b></p>
<p><a href="javascript:self.history.go(-1)">Prova di nuovo</a></p>
</font>
</body>
</html>
<%Response.end%>
<%elseif calltype = "badusername" then%>
<p><b>Spiacente, il soprannome &quot;<%=username%>&quot; è già stato
adottato da altro iscritto.</b></p>
<p><a href="javascript:self.history.go(-1)">Prova di nuovo</a></p>
</font>
</body>
</html>
<%
rsUser.close
set rsUser = nothing
conn.close
set conn = nothing
Response.end
%>
<%elseif calltype = "invalidchars" then%>
<p><b>Spiacente, il tuo soprannome non può contenere alcuni caratteri da te
usati.</b></p>
<p><a href="javascript:self.history.go(-1)">Prova di nuovo</a></p>
</font>
</body>
</html>
<%Response.end%>
<%end if
End Function%>
Grazie e salutoni a tutti
 
colep...@tiscalinet.it

 un maggior contributo nel newsgrup. Questo il listato:
[snips...]
Non ti invia le e-mail o ti da errore?
Hai configurato l'SMTP su IIS?