Salve a tutti, sto utilizzando un form con ajax per inviare alcune variabili (metodo POST) ad un file PHP affinche' vengano inserite in un database. Tutto sembra funzionare correttamente in quanto avviene l'immisione nel database (mysql) e ritorna l'esito positivo che viene visualizzato all'interno di uno <span>. Unico problema e' che l'immisione avviene 2 volte in maniera identica (2 record con gli stessi dati). Ho provato a mettere dei controlli su variabili $_SESSION per eviitare la duplicazione, ma credo che lo script php venga ripetuto 2 volte nel giro di brevissimo ed i miei controlli non hanno risolto i problemi come avrei voluto. Allego la parte interessata di codice javascript e vi chiedo cortesemente se qualcuno notasse l'origine del problema.
Grazie mille!

<script type="text/javascript" language="javascript">
var http_request = false;
function makePOSTRequest(url, parameters) {
http_request = false;
timer = setTimeout("endpause()",3000); // 3 secs
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}

http_request.onreadystatechange = alertContents;
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(parameters);
}

function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById('myspan').innerHTML = result;
} else {
alert('Problema nella richiesta');
}
}
}

function get(obj) {
var poststr = "products_id=" + escape( document.getElementById("products_id").value ) + "&produttore=" + escape( document.getElementById("produttore").value ) + "&email_address=" + escape( document.getElementById("email_address").value );
makePOSTRequest('registra_record.php', poststr);
}


il form:

<form action="javascript:get(document.getElementById('my form'));" name="myform" id="myform">
<input type="text" value="" name="email_address" id="email_address" size="30" class="border_form" />
<input type="hidden" value="valore" name="produttore" id="produttore" />
<input type="hidden" value="valore" name="products_id" id="products_id" />
<button type="submit" name="button" value="invia richiesta" onclick="javascript:get(this.parentNode);">
[img]immagine.gif[/img]</button>