salve a tutti... vi chiedo un piccolo aiuto perché non riesco ad inserire il controllo captcha inel mio form di registrazione newsletter!
questo il codice dell'iscrizione:
codice:<form action="inviato.asp" Method="Post"> <table border="0" cellpadding="0" cellspacing="0" align="center"> <tr> <td bgcolor="<%=Border%>"> <table border="0" cellpadding="0" cellspacing="0" align="center"> <tr> <td bgcolor="#486C98" align="center"><div align="center"><font color="#FFFFFF" size="1">[img]databases/forum/Forum/Immagini/icon_subscribe.gif[/img]NEWSLETTER</font></div></td> </tr> <tr> <td align="center" bgcolor="#FFFFFF"><div align="center"></div></td> </tr> <tr> <td align="center" bgcolor="#486C98"><div align="center"></div></td> </tr> <tr> <td bgcolor="<%=Body_BG%>"><font face="Verdana" size="1" color="<%=Body_Text%>"><font color="#336699">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><font face="Verdana" size="1" color="<%=Body_Text%>"><font color="#336699">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%>"><font color="#336699"> Inserisci la tua E-M@il:</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;"> <font face="Verdana" size="1" color="<%=Body_Text%>"> <font color="#336699"><font face="Arial, Helvetica, sans-serif">Ho letto <a href="infonewsletter.asp" onclick="ShowMenu(this.href,'window1','440','190','95','95','yes');return false">l'informativa sulla Privacy</a> ed autorizzo questo sito al trattamento dei dati personali*</font></font><font face="Arial, Helvetica, sans-serif">:</font> <input name="Privacy" type="checkbox" checked> </font> <input type="radio" name="Join_Quit" value="Join" checked> <font color="#336699">Iscriviti</font> <input type="radio" name="Join_Quit" value="Quit"> <font color="#336699">Cancellati</font> <input name="submit2" type="submit" style="color: #ffffff; background-color: #486C98; 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;" value="Invia" size="20"> </font><font size="2" face="Arial, Helvetica, sans-serif"> <input type="reset" name="Cerca faq22" style="color: #ffffff; background-color: #486C98; 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;" value="Cancella Form"> </font><font face="Verdana" size="1" color="<%=Body_Text%>"> </font></td> </tr> </table></td> </tr> </table> </form>
poi c'è la pagina inviato.asp che effettua il controllo dei dati inseriti:
questo invece il codice captcha (sarebbe l'esempio che in pratica non riesco ad accorpare con il mio codice sopra descritto) che ho trovato e vorrei inserire, c'è anche un altro file.asp che si chiama captcha.asp ma evito di inserirlo poiché per lo scopo del post non servirebbe e allungherebbe solo il testo:codice:<% dim dsn dim Conn dsn="DBQ=" & Server.Mappath("datis/nn.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open dsn %> <% Dim useraction Dim Email Dim Action Dim SQL Dim Privacy Dim Name_FiRst Dim Name_Last Email = lcase(request.form("Email")) useraction = request.form("Join_Quit") ' ********* linea aggiunta ********* Name_FiRst = request.form("Name_FiRst") Name_Last = request.form("Name_Last") ' ********* linea aggiunta ********* Privacy = request.form("Privacy") If useraction = "Join" And Name_FiRst = "" Or useraction = "Join" And Name_Last = "" Then Action = "Il campi nome e cognome sono obbligatori." Else 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 Email = "" then Action = "Indirizzo E-mail non valido. Riprova." end if If Len (Email)>0 Then If Instr(Email,".")=0 or Instr(Email,"@")=0 then ' E-mail non complilata correttamente Action = "Indirizzo E-mail non valido. Riprova." 'Else ' COntrollo la validità dell'email tramite il webservices di tiscali 'function checkEsistenzaEmail(email) ' Dim objXMLHTTP, StrURL ' StrURL="http://webservices.tiscali.com/EmailServices.asmx/IsValidEmail?email="&email ' Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP") ' objXMLHTTP.Open "GET", StrURL, false ' objXMLHTTP.Send ' risultato= CStr(objXMLHTTP.ResponseText) ' if Instr(risultato, "Server Error")=0 then ' nel caso il servizio di tiscali sia down ' if Instr(1,risultato, "true")>0 then ' checkEsistenzaEmail=True ' else ' checkEsistenzaEmail=False ' end if ' else ' checkEsistenzaEmail=True ' end if ' Set xml = Nothing ' end function ' risposta dell'esistenza della email 'if checkEsistenzaEmail(email) then else select case useraction case "Join" if RS.bof and RS.eof then RS.addnew RS("Email") = 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 'else 'Action = "Indirizzo Email non esistente" End if End If 'End if RS.close set RS = nothing End If end if %> <%=Action%> <% Conn.close set Conn = nothing %>
HelPMe!!!!!!plEAse!!!!!!!!!!!!codice:<%@LANGUAGE="VBSCRIPT" CODEPAGE="1254"%> <% Function CheckCAPTCHA(valCAPTCHA) SessionCAPTCHA = Trim(Session("CAPTCHA")) Session("CAPTCHA") = vbNullString if Len(SessionCAPTCHA) < 1 then CheckCAPTCHA = False exit function end if if CStr(SessionCAPTCHA) = CStr(valCAPTCHA) then CheckCAPTCHA = True else CheckCAPTCHA = False end if End Function %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" /> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="-1"> <title>ASP Security Image Generator (CAPTCHA) v2.0</title> </head> <body> <form id="f_example" name="f_example" method="post" action="examplev3.asp"> <table width="350" height="187" border="1" align="center"> <tr> <td width="152" height="32">CAPTCHA Image</td> <td width="182">[img]captcha.asp[/img]</td> </tr> <% if Request.ServerVariables("REQUEST_METHOD") = "POST" then strCAPTCHA = Trim(Request.Form("strCAPTCHA")) if CheckCAPTCHA(strCAPTCHA) = true then %> <tr> <td height="37" colspan="2" align="center"><b style="color:#00CC00">Verified (<%=strCAPTCHA%>)[/b]</td> </tr> <% else %> <tr> <td height="37" colspan="2" align="center"><b style="color:#FF0000">Not Verified. Please Retry.[/b]</td> </tr> <% end if end if %> <tr> <td height="66">Write the characters in the image above (Case sensitive)</td> <td><input name="strCAPTCHA" type="text" id="strCAPTCHA" maxlength="8" /></td> </tr> <tr> <td height="37" colspan="2" align="center"><input type="submit" name="Submit" value="Test Input" /></td> </tr> <tr> <td height="37" colspan="2" align="center">Go Back</td> </tr> </table> </form> </body> </html>

Rispondi quotando