Ho creato un contatore di download che si appoggia ad un db. Nella tabella, tra le altre cose, vorrei inserire una colonna che registri l'IP dell'utente che per ultimo ha scaricato quel file.
Perchè questo?
Per evitare che l'utente, cliccando e ricliccando sul file faccia andare in orbita il contatore: ci sarà un controllo tramite script php che impedirà al contatore di aumentare nel caso in cui l'utente che clicca abbia lo stesso IP registrato per ultimo nel db.
C'è un problema: lo script per il contatore lo avevo già, dovevo solo aggiungere questa parte relativa alla registrazione e confronto dell'IP.
1) Che caratteristiche deve avere il campo ip nella tabella? Va bene VARCHAR 50 ?
2) Questo è lo script che prima inseriva, incrementato, il nuovo valore del download e la data del download
$query = "UPDATE download SET dlc = $dlc , data = $data WHERE id='$id'";
Ma quando aggiungo la parte relativa all'IP addirittura il contatore non viene nemmeno più incrementato
$query = "UPDATE download SET ip = $iput, dlc = $dlc , data = $data WHERE id='$id'";
Dove $iput contiene l'ip dell'utente e viene precedentamente ricavata così: $iput = $_SERVER['REMOTE_ADDR'];
Come dicevo, guardando poi la tabella, il campo IP resta sempre vuoto e improvvisamente nemmeno il contatore (dlc) viene più incrementato.
Come mai? Da cosa dipende? Perchè lo script prosegue comunque correttamente?
Grazie!
ps: ovviamente manca la query viene eseguita!! E ovviamente so che manca la parte di controllo sull'ip dell'utente e quello registrato, ma mi sono accorto che non è quella la parte erronea, solo quella che ho scritto