Verificare il doqnolad di un file per una sola volta

Monital

Utente Attivo
15 Apr 2009
778
2
18
Salve a tutti e ben trovati, credo dia vere un problema che solo voi potete risolvere.
Ho creato una pagina epr fare il downolad di un buono sconto, ho inserito la verifica che permette il download solo agli utenti registrati ma vorrei intanto assicurarmi che il download sia andato a buon fine e poi inserire nel database il downolad effettuato cosi da permettere los tesso una sola volta.

pensate sia possibile?

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
per la verifica se il download sia andato a buon fine non saprei come fare, per la verifica che sia scaricato una volta sola potresti fare qualcosa del genere
ti schematizzo
PHP:
<?php
session_start();
/* immagino che essendo una pagina riservata agli iscritti tu abbia all'inizio
qualcosa del genere che permette l'accesso solo agli iscritti
*/
if(!isset($_SESSION['utente'])){
	//la sessione non esiste quindi un tentativo di accesso non consentito
	header("location: dove_vuoi.php");
	exit();
}else(
	//la sessione esiste: l'utente è un iscritto
	//dati di connessione al db
	/*in una tabella a parte o nella tabella utenti verifichi il valore un campo chiamato es dow che può essere
	0 se non fatto mai il dwnload o 1 se dowload gia stato fatto*/
	$query=mysqli_query($conn,"SELECT dow FROM verifica_down WHERE utente ='".$_SESSION['utente']."'");
	$riga=mysqli_fetch_array($query);
	if($riga['dow'] ==  1){//se 1 il down è gia stato fatto una volta dall'utente
		echo "down gia fatto";
		// e rimandi dove wuoi
		exit();
	}else{
		//fai scaricare il buono e uppi la tabella
		$query=mysqli_query($conn,"UPDATE verifica_down SET dow= 1 WHERE utente ='".$_SESSION['utente']."'");
		/* e rimandi dove vuoi eventualmente con un avviso
		che se ci sono stati problemi nel down di scrivere al webmaster*/
		exit();
	}
)
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
scusa dimenticavo
se usi per la verifica del down la stessa tabella utenti in cui hai il campo down devi upparla
sue usi una tabella diversa devi fare l'insert
PHP:
<?php
//....
	$query= mysqli_query($conn,"INSERT INTO verifica_down(utente,down) VALUES('".$_SESSION['utente']."', 1)");
//...
?>
 

Rikk73

Utente Attivo
7 Apr 2015
137
6
18
Arezzo
Esistono dei modi per controllare se il download di un file (di solito quelli di grandi dimensioni) si è interrotto e quindi farlo poi ripartire dal punto di interruzione e non dall'inizio, anche se io personalmente ammetto che non ci ho capito molto... prova a dare un'occhiata qui
http://www.icosaedro.it/articoli/php-file-download.html

http://www.pixelstech.net/article/1357732373-Output-a-file-with-HTTP-range-header-in-PHP

se riesci ad usare questo $_SERVER['HTTP_RANGE'] lo puoi utilizzare per scrivere nel db la dimensione in bytes del file scaricato, che se è presente ed uguale al file in questione vuol dire che è già stato scaricato.


Un'altro accorgimento potrebbe essere quello di far aprire una nuova finestra al click sul link del file, dove ricordi che il documento è scaricabile una sola volta...., qui metti il link vero e proprio per il download ed alla chiusura della pagina setti il db come suggerito da borgo italia
 
Discussioni simili
Autore Titolo Forum Risposte Data
Y verificare condizione dopo esecuzione della funzione Programmazione 0
W verificare credenziali in automatico con PHP PHP 1
S Come verificare se un file è aperto PHP 2
I Verificare compressione GZip Server Dedicati e VPS 0
F [Javascript] Verificare la presenza di caratteri speciali in una password Javascript 3
otto9due Confrontare due array: verificare che tutti i valori di un'array siano contenuti in un'altra. jQuery 1
giannit Verificare se un utente è connesso tramite db mysql PHP 15
borgo italia una funzione per verificare l'invio di files Snippet PHP 0
C [PHP] verificare se un dispositivo e' online PHP 9
M [PHP] Verificare che azienda sia aperta o chiusa PHP 3
P inserire un titolo e verificare Ajax 4
Marco_88 Verificare la selezione degli elementi dom jQuery 2
filippino Verificare se variabile di PHP è definita PHP 2
Marco_88 Verificare più valori con operatore ternario PHP 4
JackIlPazzo Estrarre voce random e verificare se è corretta PHP 8
M Long polling per verificare gli utenti on line jQuery 1
Licantropo Come verificare i propri siti web, database e server? Sicurezza e Virus 6
M verificare se il valore inserito nel campo è un numero ed effettuare dei calcoli Javascript 2
asevenx verificare presenza parola lunga all'interno di un testo PHP 1
MarcoGrazia Verificare un checkbox/radiobutton con jquery Snippet Javascript 1
F Verificare se in una variabile è presente un determinato numero PHP 2
Z Verificare che mi sta scrivendo o rispondendo Javascript 1
L Funzione per verificare distanza di tempo non funziona: perchè? PHP 4
max_400 Verificare se l'utente è on-line PHP 2
I Verificare il dispositivo del visitatore del sito? PHP 5
M Come verificare accesso ad area http auth basic? PHP 7
P Verificare e nel caso installar eeAccellerator Apache 1
D Verificare esistenza valore Javascript 2
IImanuII Verificare se i file sono scrivibili, apribili e chiudibili PHP 7
Shyson Verificare se una mail esiste PHP 15
IImanuII Verificare se Javascript è attivo attraverso PHP PHP 8
A Verificare variabile.... PHP 6
voldemort Verificare se un attributo esiste con jQuery jQuery 4
M Verificare se il dispositivo è TouchScreen Javascript 1
V Verificare il valore selezionato nella combobox PHP 5
S Tool in beta test per verificare le posizioni del tuo sito su Google.it Presenta il tuo Sito 0
V Verificare pagina da cui arriva l'utente PHP 3
B verificare esistenza link PHP 3
D Verificare esistenza indirizzo e-mail in php PHP 2
M Come verificare veridicità di un account di posta? Sicurezza e Virus 0
metalgemini verificare il blocco popup Javascript 0
metalgemini Verificare l'esistenza di un file su server Classic ASP 1
A Verificare il focus Javascript 4
Cosina mostrare contenuto da file txt PHP 2
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
M Inviare un file su un server remoto con JavaScript Javascript 0
L Ricezione dei dati su file php da modulo html PHP 6
X unire più file in un pdf Windows e Software 2
spider81man Creazione di un UNICA tabella da più file .CSV PHP 1
felino TV e pendrive USB: capacità massima e file system? Discussioni Varie 1

Discussioni simili