Caro Albis, chiedo ancora il tuo, sempre risolutivo, aiuto. Ho inserito alune righe (per inviare un? e-mail automatica a chi si registra) in una pagina che processa i dati di login introdotti dall?utente (l?intero login consta ovviamente di molte pagine). Queste righe le troverai facilmente all?interno della pagina che allego interamente (per farti comprendere l?insieme) ma che ovviamente tu dovrai esaminare solo nelle righe dove c?è il CDONTS (prima del lungo select case): se sono esatte e se sono inserite nel punto giusto. Il login funziona online perfettamente ma il messaggio di ringraziamento non è mai arrivato agli iscritti (e non si riceve nemmeno alun segnale di errore). Mi puoi aiutare come hai fatto altre volte? Ti ringrazio molto e ti saluto cordialmente insieme a Daniele.
<%
Option Explicit
Dim sql,rsUser,username,password,passwordconfirm,firstname,surname,email,dob,sex,notfilled(7),badflag,count,passwordLength,calltype,icon,starsign,dobmonth,dobday
'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="coleporter@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%> <%=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 "<%=username%>" è 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%>
coleporter