Sul mio sito metto a disposizione alcuni file da scaricare e vorrei tener traccia del numero di download.
Per fare questo ho pensato di fare così:
al click sul pulsante per il download avvio una funzione ajax che chiama uno script php passandogli come parametro il codice del file che si sta scaricando, lo script php poi aggiorna una tabella del db.
Questa seconda parte non ha alcun problema, se chiamo direttamente dalla barra degli indirizzi lo script php con parametro get, ogni volta che ricarico la pagina il db viene aggiornato.
Il problema è che invece cliccando sul pulsante l'aggiornamento non sempre avviene, come se la funzione ajax a volte fallisca la chiamata allo script php.
Questa è la funzione Ajax
codice:
function addDownload(softid) {
var req;
if(window.XMLHttpRequest){
//For Firefox, Safari, Opera
req = new XMLHttpRequest();
}
else if(window.ActiveXObject){
//For IE 5
req = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.ActiveXObject){
//For IE 6+
req = new ActiveXObject("Msxml2.XMLHTTP");
}
else{
//Error for an old browser
alert("Your browser is not IE 5 or higher, or Firefox or Safari or Opera");
}
var url = "utils/add_download.php?softid="+softid;
req.open("GET",url,true);
req.setRequestHeader("Connection", "close");
req.send(null);
}
E così è come la chiamo
codice:
[img]images/btn_download.png[/img]
Cosa c'è che può generare il malfunzionamento?