Salve ragazzi sto creando una mailing listi e devo fare in modo che al momento dell'inserimento dati da parte dell'utente vi sia un controllo per vedere se quella mail è gia presente per impedire un doppio inserimento.
Ho inserito il controllo ma nulla non funziona, mi inserisce sempre il record.:
Questo è il codice:
In rosso ho evidenziato le parti che secondo me fanno da controllo e il form per l'inserimento.codice:<% Dim rsInserisciMail Dim rsInserisciMail_numRows Set rsInserisciMail = Server.CreateObject("ADODB.Recordset") rsInserisciMail.ActiveConnection = MM_mailingInfo_STRING rsInserisciMail.Source = "SELECT * FROM mailing where mail='"& mail & "'" rsInserisciMail.CursorType = 0 rsInserisciMail.CursorLocation = 2 rsInserisciMail.LockType = 1 rsInserisciMail.Open() rsInserisciMail_numRows = 0 %> <% ' *** Edit Operations: declare variables Dim MM_editAction Dim MM_abortEdit Dim MM_editQuery Dim MM_editCmd Dim MM_editConnection Dim MM_editTable Dim MM_editRedirectUrl Dim MM_editColumn Dim MM_recordId Dim MM_fieldsStr Dim MM_columnsStr Dim MM_fields Dim MM_columns Dim MM_typeArray Dim MM_formVal Dim MM_delim Dim MM_altVal Dim MM_emptyVal Dim MM_i MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit MM_abortEdit = false ' query string to execute MM_editQuery = "" %> <% if rsInserisciMail.eof then %> <% ' *** Insert Record: set variables If (CStr(Request("MM_insert")) = "inserisciMail") Then MM_editConnection = MM_mailingInfo_STRING MM_editTable = "mailing" MM_editRedirectUrl = "inserimento_ok.asp" MM_fieldsStr = "mail|value" MM_columnsStr = "mail|',none,''" ' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, "|") MM_columns = Split(MM_columnsStr, "|") ' set the form values For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i))) Next ' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If End If %> <% ' *** Insert Record: construct a sql insert statement and execute it Dim MM_tableValues Dim MM_dbValues If (CStr(Request("MM_insert")) <> "") Then ' create the sql insert statement MM_tableValues = "" MM_dbValues = "" For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_formVal = MM_fields(MM_i+1) MM_typeArray = Split(MM_columns(MM_i+1),",") MM_delim = MM_typeArray(0) If (MM_delim = "none") Then MM_delim = "" MM_altVal = MM_typeArray(1) If (MM_altVal = "none") Then MM_altVal = "" MM_emptyVal = MM_typeArray(2) If (MM_emptyVal = "none") Then MM_emptyVal = "" If (MM_formVal = "") Then MM_formVal = MM_emptyVal Else If (MM_altVal <> "") Then MM_formVal = MM_altVal ElseIf (MM_delim = "'") Then ' escape quotes MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'" Else MM_formVal = MM_delim + MM_formVal + MM_delim End If End If If (MM_i <> LBound(MM_fields)) Then MM_tableValues = MM_tableValues & "," MM_dbValues = MM_dbValues & "," End If MM_tableValues = MM_tableValues & MM_columns(MM_i) MM_dbValues = MM_dbValues & MM_formVal Next MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")" If (Not MM_abortEdit) Then ' execute the insert Set MM_editCmd = Server.CreateObject("ADODB.Command") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close If (MM_editRedirectUrl <> "") Then Response.Redirect(MM_editRedirectUrl) End If End If End If %> <% else response.write "Mail già presente" end if %> <!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-1" /> <title>Documento senza titolo</title> <style type="text/css"> .testo {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 12px;font-weight: normal;color: #333333;} .Stile1 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #333333; } </style> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"><table width="300" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" class="Stile1">Inserimento news letter </td> </tr> <tr> <td align="left"></td> </tr> <tr> <td align="left" class="testo"><form id="inserisciMail" name="inserisciMail" method="POST" action="<%=MM_editAction%>"> <table width="300" border="0" cellspacing="0" cellpadding="0"> <tr> <td>Email: <label> <input name="mail" type="text" class="testo" id="mail" size="40" /> </label></td> </tr> <tr> <td></td> </tr> <tr> <td align="center"><label> <input name="Submit" type="submit" class="testo" value="Inserisci mail" /> </label></td> </tr> </table> <input type="hidden" name="MM_insert" value="inserisciMail"> </form> </td> </tr> </table></td> </tr> </table> </body> </html> <% rsInserisciMail.Close() Set rsInserisciMail = Nothing %>
Nn risco a capire perchè non mi fa il controllo.
![]()

Rispondi quotando
