Il mio obiettivo è costruire un sempice counter di download che però tenga conto anche degli utenti univoci, confrontando gli IP.
Nel mio database ho una tabella "download" composta da "id, ip, data, doubled".
Ho provato a scrivere questo: ma c'è evidentemente un errore nel cilco, oltre che nello script.
Codice PHP:
/* Prendo IP e data attuale */
$ip = $_SERVER['REMOTE_ADDR'];
$data = date("YmdHis"); // Formato YYYYMMDDHHIISS
/* Effettuo query */
$query = mysql_query("SELECT ip, data FROM download") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
if ($ip == $row['ip']) { //se l'ip è già presente verifico la data
$diff = ($data - $row['data']);
if ($diff < 3600) { //se è trascorso meno di un'ora
echo "IP inserito troppo poco tempo fa.
"; //non faccio niente
} else { //se è trascorsa più di un'ora
// Inserisco i dati nel database
mysql_query("
INSERT INTO download
(id, ip, data, doubled)
VALUES
('', '".$ip."', '".$data."', '1')") or die(mysql_error());
mysql_close();
echo "Ip già inserito reinserito.
";
}
} else { //se l'ip invece NON c'è inserisco i dati nel database
mysql_query("
INSERT INTO download
(id, ip, data, doubled)
VALUES
('', '".$ip."', '".$data."', '0')") or die(mysql_error());
mysql_close();
echo "Nuovo ip inserito.
";
}
} //fine ciclo
Tuttavia continua a non funzionare... A inserire dati e così via...
Per fare un buon lavoro bisognerebbe anche, nel caso l'ip sia già presente, prendere il record più recente per confrontarlo con la data attuale....
Qualcuno è in grado di darmi una mano? Il mio obiettivo, come dicevo, è fare un semplice counter che tenga conto degli utenti univoci (per un certo tempo 3600 secondi, nell'esempio).
Grazie!!!