
Originariamente inviata da
hypertextPro
Forse dico una stupidaggine ma potresti provare proprio utilizzando le sessioni.
Ovvero se un utente apre quella specifica pagina puoi settare nella sua sessione un campo del tipo:
Codice PHP:
session_start();
$_SESSION["apro_pag_x"] = true;
In questo modo quando l'utente apre quella pagina viene settata una variabile di sessione che identifica l'apertura di quest'ultima.
Poi per evitare che la pagina venga eseguita potresti verificare se la variabile è settata, se lo è generi un errore del tipo:
"Errore, non è possibile eseguire questa operazione due volte."
alternativamente se non è settata la setti e poi esegui le operazioni che vuoi far eseguire quella pagina.
Finite le operazioni puoi distruggere questa variabile di sessione.
In questo modo se l'utente cerca di aprire la pagina mentre è in esecuzione verrà generato un errore e non verrà eseguito lo script, sia che la apra con il tasto dx, sia che la apra con CTRL+Click, sia che copi l'URL.
PS: Io ho considerato che UN SOLO UTENTE prova ad eseguire lo script, se lo script crasha anche quando DUE UTENTI BEN DISTINTI (quindi con due sessioni distinte) riguarda lo script.