Visualizzazione dei risultati da 1 a 4 su 4

Discussione: IE7 duplica i dati!!!

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    87

    IE7 duplica i dati!!!

    Ciao a tutti, iscritto per disperazione!!!
    Ho una pagina in cui si inseriscono le news in un portale: con l'avvento del grande IE7 questa pagina, una volta premuto il bottone "invia" salva DUE (2) volte la news, mentre con Firefox o anche IE6 NON da alcun problema.

    Questa è la pagina con cui salvo i dati:
    codice:
    <%
    if request("data") = "" then
    data = Date()
    else
    data = request("data")
    end if
    
    if request("titolo") = "" then
    errore = true
    else
    titolo = replace(request("titolo"), "'", "&#39;")
    end if
    
    if request("testo") = "" then
    errore = true
    else
    testo = replace(request("testo"), "'", "&#39;")
    end if
    
    if errore = true then
    Response.Redirect("/news/new3.asp?errore=1&titolo=" & titolo & "&testo=" & testo)
    end if
    
    
    SQL = "INSERT INTO tnews(data, ora, titolo, testo, IDuser, attivo) VALUES ('" & data & "', '" & Time() & "', '" & titolo & "', '" & testo & "', '" & Request.Cookies("CPortal")("IDuser") & "', 1)"
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open SQL, cn, 3, 3
    
    Set rs = Nothing
    Set SQL = Nothing
    
    SQL = "SELECT TOP 1 ID FROM tnews ORDER BY ID DESC"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open SQL, cn, 3, 3
    IDNews = rs.fields("ID")
    rs.Close
    Set rs = Nothing
    
    cn.Close
    Set cn = Nothing
    
    if request("passabottone") = "SaveAddImage" then
    Response.Redirect("/news/05_uploadimage.asp?ID=" & IDNews)
    Response.End()
    else
    Response.Redirect("/news/home.asp")
    Response.End()
    end if
    %>
    Mi sembra che tutto funzioni correttamente (come infatti funziona in FF!).

    Per favore, necessito di una soluzione il più rapida possibile,
    grazie a tutti!!!!

  2. #2
    Utente di HTML.it L'avatar di kava01
    Registrato dal
    Jul 2006
    Messaggi
    116
    Non saprei...

    cmq...

    Perché apri un recordset per fare una INSERT?
    Non basta fare una execute?

    Perché scrivi Set SQL = Nothing? SQL è una stringa...


    Perché non provi a spezzare il codice?

    fai una pagina che fa la insert e una che fa la select... cosi ti risolvi il problema...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    87
    Fare due pagine non penso mi risolverebbe il problema, comunque proverò!

    SQL = Nothing mi serviva per uccidere la variabile per provare a evitare che mi eseguisse due volte la stessa variabile.

    Come esegui la Execute? Ho sempre lavorato in questo modo, quindi, se puoi migliorarmi, ben venga!!!

    Il problema continua a verificarsi sempre in IE7 e basta e questo mi innervosisce!!! Il codice ti pare comunque giusto?!

    GRAZIE!!!

  4. #4
    Utente di HTML.it L'avatar di kava01
    Registrato dal
    Jul 2006
    Messaggi
    116
    Se vuoi uccidere la variabile (string) SQL usa SQL="", non SQL = Nothing.

    Per eseguire una insert è sufficiente la execute, non vedo la necessità di aprire un recordset, visto che non estrai nulla.

    Prova con questo codice

    codice:
    <%
    if request("data") = "" then
    data = Date()
    else
    data = request("data")
    end if
    
    if request("titolo") = "" then
    errore = true
    else
    titolo = replace(request("titolo"), "'", "'")
    end if
    
    if request("testo") = "" then
    errore = true
    else
    testo = replace(request("testo"), "'", "'")
    end if
    
    if errore = true then
    Response.Redirect("/news/new3.asp?errore=1&titolo=" & titolo & "&testo=" & testo)
    end if
    
    
    SQLinsert = "INSERT INTO tnews(data, ora, titolo, testo, IDuser, attivo) VALUES ('" & data & "', '" & Time() & "', '" & titolo & "', '" & testo & "', '" & Request.Cookies("CPortal")("IDuser") & "', 1)"
    
    cn.execute SQLinsert
    
    SQLselect = "SELECT TOP 1 ID FROM tnews ORDER BY ID DESC"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open SQLselect, cn, 3, 3
    IDNews = rs.fields("ID")
    rs.Close
    Set rs = Nothing
    
    cn.Close
    Set cn = Nothing
    
    if request("passabottone") = "SaveAddImage" then
    Response.Redirect("/news/05_uploadimage.asp?ID=" & IDNews)
    Response.End()
    else
    Response.Redirect("/news/home.asp")
    Response.End()
    end if
    %>

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 © 2026 vBulletin Solutions, Inc. All rights reserved.