25 messaggi dal 13 agosto 2005
salve a tutti ho un problema... spero possiate aiutarmi.... ve lo illustro:
ho un box per l'iscrizione alle newsletter attualmente c'è il campo nome, il cognome e l'indirizzo e poi la possibilità di iscriversi o di cancellarsi. ora io vorrei inserie un checkbox per accettare l'informativa sulla privacy senza la quale accettazione l'utente non può iscriversi!
spero di essermi spiegato bene... comunque vi posto l'attuale box della newsletter
<TD colspan="3"><form action="cartella/newsletter.asp" Method="Post">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr> 
<td bgcolor="<%=Border%>"> <table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
<tr> 
<td bgcolor="<%=Body_BG%>"><font face="Verdana" size="1" color="<%=Body_Text%>"><font color="#747403">Nome:</font>

<input type="text" name="Name_First" size="20" maxlength="255" style="color : #486C98; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px; font-weight: bold;">


<font color="#747403">Cognome:</font>

<input type="text" name="Name_Last" size="20" maxlength="255" style="color : #486C98; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px; font-weight: bold;">
</font><font face="Verdana" size="1" color="<%=Body_Text%>"><strong><font color="#336699">

</font></strong><font color="#336699"><font color="#747403"> 
E-m@il:</font></font>

<input type="text" name="Email" size="20" maxlength="255" style="color : #486C98; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px; font-weight: bold;">


<input type="radio" name="Join_Quit" value="Join" checked>
<strong><font color="#B0B005">Iscriviti</font></strong>

<input type="radio" name="Join_Quit" value="Quit">
<font color="#B0B005"><strong>Cancellati</strong></font>

</font><font size="2" face="Arial, Helvetica, sans-serif"><strong> 
<input name="image" type="image" src="immagini/jpg/invia.jpg" align="bottom" border="0">
</strong></font><font face="Verdana" size="1" color="<%=Body_Text%>"> 
</font><font size="2" face="Arial, Helvetica, sans-serif"><strong> 
</strong></font><font face="Verdana" size="1" color="<%=Body_Text%>"> 
</font></td>
</tr>
</table></td>
</tr>
</table>
</form></TD>

la pagina poi di elaborazione e controllo dei dati inseriti è questa ossia newsletter.asp<!--#include file="dsn.asp"-->
<!--#include file="body.asp"-->
<%
Dim useraction
Dim Email
Dim Action
Dim SQL

Email = lcase(request.form("Email"))
useraction = request.form("Join_Quit")

set RS = server.createobject("adodb.recordset")
SQL = "SELECT * FROM List WHERE Email = '" & Email & "'"
RS.open SQL, conn, 2, 2

If (request("Email") = "") then
Action = "Indirizzo E-mail non valido. Riprova."
end if

If Len(Request.Form("Email"))>0 Then
If Instr(Request.Form("Email"),".")=0 or Instr(Request.Form("Email"),"@")=0 then
' E-mail non complilata correttamente 
Action = "Indirizzo E-mail non valido. Riprova."

Else
select case useraction
case "Join"
if RS.bof and RS.eof then
RS.addnew
RS("Email") = request("Email")
RS("Name_Last") = request("Name_Last")
RS("Name_First") = request("Name_First")
RS("Date_In") = Date
RS.update 
Action = "Grazie per esserti Iscritto."
else
Action = "Sei già Iscritto."
end if
case "Quit"
if RS.bof and RS.eof then
Action = "Non sei ancora Iscritto."
else 
sql2="DELETE FROM List WHERE Email = '" & Email & "'"
conn.execute(sql2)

Action = "Il tuo indirizzo è stato rimosso dal nostro database."
end if
end select
End If
end if 
RS.close
set RS = nothing
%>

<html>
<head>
<title><%=RSBODY("List_Name")%></title>

<!--#include file="style.asp"-->

</head>
<body bgcolor="#F0F0F0" vlink="#48576C" link="#48576C" alink="#000000">




<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td bgcolor="#000000">
<table border="0" cellpadding="2" cellspacing="1" align="center">
<tr>
<td bgcolor="#486C98" align="center"><font face="Verdana" size="2" color="#FFffff"><b><%=RSBODY("List_Name")%></b></font></td>
</tr>
<tr>
<td bgcolor="#E6E6FF"> <font face="Verdana" size="1"> <%=Action%> 



<a href="javascript:history.back();"><b> Torna Indietro</b></a> </font> 
</tr>
</table>
</td>
</tr>
</table>

</body>
</html>
<!--#include file="dsn2.asp"-->
579 messaggi dal 28 gennaio 2004
quello che ti serve sono i classici controlli di validazione :D girando qua e la in rete ne trovi a chili
per obbligare a "checckare" la check.... prova sto spezzone di codice

<html>
<script language="javascript">
function controllo()
{
var testo = document.form.testo.value;
var controllo=false;
var okpref=true;
if (testo == "")
{
alert('scrivi qualcosa')
return false;
}
else if(okpref)
{
if(document.form["ctrl"].checked)okpref=false;
else okpref=true;
}
if(okpref)
{
controllo=true;
alert('dai il consenso');
return false;
}
else
{
document.form.action = "";
document.form.submit();
}
}
</script>
<title>Documento senza titolo</title>
</head>
<body>
<form name="form" action="" method="post" >
<input type="text" name="testo" />
<input type="checkbox" name="ctrl" />
<br />
<input type="button" name="vai" value="vai" onclick="controllo();"/>
</form>
</body>
</html>


poi nella pagina interessata vai a fare un controllo direttamente onclick="controllo();" sul pulsante
fammi sapere se ti e utile
25 messaggi dal 13 agosto 2005
ottimo consiglio mor... ma ho risolto in un altro modo
grazie mille comunque!
579 messaggi dal 28 gennaio 2004
non vale lasciarmi sulle spine  come hai risolto? son curioso....
25 messaggi dal 13 agosto 2005
la pagina newsletter.asp:
<%Dim useraction
Dim Email
Dim Action
Dim SQL
Dim Privacy

Email = lcase(request.form("Email")) 
useraction = request.form("Join_Quit")

' ********* linea aggiunta *********
Privacy = request.form("Privacy")

If Privacy = "on" Then
  Privacy = "si"
Else
  Privacy = "no"
End If

' ********* linea aggiunta *********
If useraction = "Join" And Privacy = "no" Then
  Action = "Consenso Privacy obbligatorio."

Else

set RS = server.createobject("adodb.recordset")
SQL = "SELECT * FROM List WHERE Email = '" & Email & "'"
RS.open SQL, conn, 2, 2

If (request("Email") = "") then
Action = "Indirizzo E-mail non valido. Riprova."
end if

If Len(Request.Form("Email"))>0 Then
If Instr(Request.Form("Email"),".")=0 or Instr(Request.Form("Email"),"@")=0 then

' E-mail non complilata correttamente 
Action = "Indirizzo E-mail non valido. Riprova."

Else
select case useraction
case "Join"
if RS.bof and RS.eof then
RS.addnew
RS("Email") = request("Email")
RS("Name_Last") = request("Name_Last")
RS("Name_First") = request("Name_First")

' ********* linea aggiunta *********
RS("Privacy") = Privacy

RS("Date_In") = Date
RS.update 
Action = "Grazie per esserti Iscritto."
else
Action = "Sei già Iscritto."
end if
case "Quit"
if RS.bof and RS.eof then
Action = "Non sei ancora Iscritto."
else 
sql2="DELETE FROM List WHERE Email = '" & Email & "'"
conn.execute(sql2)
Action = "Il tuo indirizzo è stato rimosso dal nostro database."

end if
end select
End If
End if 

RS.close
set RS = nothing

End If
%>

ma c'è ancora molto da fare per la validazione dell'indirizzo email... quello che vorrei fare io è testare se l'indirizzo esiste realmente!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.