Se io refresho la pagina mi appare il doppione...se la refresho di nuovo invece non crea piu' doppioni...rimane a video solo il messaggio originale e il doppione anche se refresho 10 volte....poi comunque nel database al refresh non avviene nessun inserimento di doppioni quindi credo che il problema deriva da questo file giusto?codice:// funzione per la chiamata dell'oggetto XMLHttpRequest function ajax(){ var ajaxRequest; try{ // controllo per i browser diversi da IE ajaxRequest = new XMLHttpRequest(); }catch (e){ // contorollo per IE try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ // controllo per i browser che non supportano l'XMLHttpRequest alert("Il browser non supporta questo ShoutBox"); return false; } } } return ajaxRequest; } // funzione per il salvataggio dei dati function salva(){ htmlRequest = ajax(); if (htmlRequest==null){ alert ("Il browser non supporta richieste HTTP"); return; } // controlliamo i parametri obbligatori if(document.form_invio.nick.value == "" || document.form_invio.nick.value == "NULL" || document.form_invio.testo.value == "" || document.form_invio.testo.value == "NULL") { alert('Inserisci sia il Nick che il testo'); return; } // inviamo i parametri al file per l'INSERT nel database htmlRequest.open('POST', 'invia.php'); htmlRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); htmlRequest.send('nick='+document.form_invio.nick.value+'&testo='+document.form_invio.testo.value+'&sito_web='+document.form_invio.sito_web.value); // svuotiamo il modulo per il messaggio document.form_invio.testo.value = ''; document.form_invio.testo.focus(); } // funzione per mostrare i dati function mostra() { htmlRequest = ajax(); // controllo nel caso in cui non possa richiamato l'oggetto Xmlhttp if (htmlRequest==null){ alert ("Il browser non supporta richieste HTTP"); return; } htmlRequest.onreadystatechange = function(){ // Restituisce lo stato della richiesta if(htmlRequest.readyState == 4){ // Restituice il corpo della risposta come stringa document.getElementById("modulo").innerHTML = htmlRequest.responseText; } } // chiamata della pagina PHP che estrae i records htmlRequest.open("GET", "mostra.php", true); htmlRequest.send(null); } // chiamata alla funzione mostra(); // intevallo per l'aggiornamento della pagina setInterval("mostra()",1000);