Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Script invio form automatico che provoca caricamento continuo della pagina

    Salve raggazi,

    ho la ncessita di inviare in automatico un form al caricamento della pagina.
    Questo è il codice della pagina dove sta il form e in rosso ho evidenziato il codice per l'invio automatico:

    codice:
    <%@LANGUAGE="VBSCRIPT"%>
    
    <%
    ' *** 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 = ""
    %>
    <%
    ' *** Insert Record: set variables
    
    If (CStr(Request("MM_insert")) = "visite") Then
    
      MM_editConnection = MM_mailingInfo_STRING
      MM_editTable = "visitatatori"
      MM_editRedirectUrl = "eventi_2.asp"
      MM_fieldsStr  = "visitatore|value|mailVisitatore|value"
      MM_columnsStr = "visitatore|',none,''|mailVisitatore|',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
    %>
    <%
    Dim rsVisitatore__MMColParam
    rsVisitatore__MMColParam = "1"
    If (Request.QueryString("nome") <> "") Then 
      rsVisitatore__MMColParam = Request.QueryString("nome")
    End If
    %>
    <%
    Dim rsVisitatore
    Dim rsVisitatore_numRows
    
    Set rsVisitatore = Server.CreateObject("ADODB.Recordset")
    rsVisitatore.ActiveConnection = MM_mailingInfo_STRING
    rsVisitatore.Source = "SELECT * FROM mailing WHERE nome = '" + Replace(rsVisitatore__MMColParam, "'", "''") + "'"
    rsVisitatore.CursorType = 0
    rsVisitatore.CursorLocation = 2
    rsVisitatore.LockType = 1
    rsVisitatore.Open()
    
    rsVisitatore_numRows = 0
    %>
    <!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 onload="document.getElementById('visite').submit()"> 
    
    <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="left" class="Stile1">Evento da reclamizzare..... </td>
          </tr>
          <tr>
            <td align="left"><form ACTION="<%=MM_editAction%>" id="visite" name="visite" method="POST">
              <input name="visitatore" type="hidden" id="visitatore" value="<%=(rsVisitatore.Fields.Item("nome").Value)%>" />
              <input name="mailVisitatore" type="hidden" id="mailVisitatore" value="<%=(rsVisitatore.Fields.Item("mail").Value)%>" />
              <input type="hidden" name="MM_insert" value="visite">
              <label></label>
            </form>
      </td>
          </tr>
          <tr>
            <td align="left" class="testo">Benvenuto <%=(rsVisitatore.Fields.Item("nome").Value)%></td>
          </tr>
          <tr>
            <td align="left"></td>
          </tr>
    <tr>
            <td></td>
          </tr>
        </table></td>
      </tr>
    </table>
    </body>
    </html>
    <%
    rsVisitatore.Close()
    Set rsVisitatore = Nothing
    %>
    Il problema è che la pagina mi viene ricaricata di continuo portando ad un'inserimento continuo dei dati nel DB.

    Nn riesco a capire il perchè di questo problema visto che lo script è inserito sull'evento onLoad


  2. #2
    ciao, sei sicuro che l'attributo action del form non punti alla stessa pagina che lo contiene?

    saluti

  3. #3
    Ho provato a mettere all'action del form il nome di una pagina qualsiasi di destinazione ma in quel modo non mi inserisce i dati nel db.


  4. #4
    Vedendo un post simile,

    ho provato ad inserire all'interno dei tag head questo codice:

    <script language="javascript" type="text/javascript">
    document.forms["visite"].submit()
    </script>

    Ma così non inserisce nulla.

    Invece se lo stesso codice lo inserisco subito dopo il form mi ricarica in automatico tutte le volte la pagine con infiniti inserimenti.


  5. #5
    Scusate risolto......

    E' che avevo lasciato come pagina di reindirizzamento dopo l'inserimento sempre quella dove sta il form per l'inserimento perciò giustamente lui ricaricava in continuazione la pagina.

    Mettendo come un'altra pagina di reindirizzamento e fine inserimento funziona tutto bene.

    Mannaggia a me e quando non seguo la logica e mi impunto su una cosa errata.

    Ciao a tutti


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.