Pagina di attesa ad un link attivo solo quando voluto

di il
4 risposte

Pagina di attesa ad un link attivo solo quando voluto

Ciao a tutti.
Per evitare inutili spiegazioni da parte mia vi illustro la situazione:

attenzione: tutto si riferisce ad un sito in locale in PHP che funziona su un pc winXp con XAMPP!

ci sono X utenti collegati al mio sito ed ognuno visualizza la pagina di attesa che aspetta di indirizzarli ad un altra pagina(con tutte le informazioni passate con il metodo get). Questa pagina testa l'esistenza di un file ok.txt (avevo pensato anche ad un valore in un database locale ma probabilmente impegna più risorse)

Solo quando questa pagina esiste si viene indirizzati alla pagina successiva.

Al momento utilizzo un refresh ogni 3 secondi della pagina stessa (mediante il tag meta "refresh") che quindi testa nuovamente l'esistenza del file ok.txt (rieseguendo il codice php) per "decidere" se andare alla pagina successiva o restare in attesa per altri 3 secondi.

Sono convinto che esistano metodi migliori e più efficaci ma non sono riuscito a trovare niente anche perchè è difficile inserire in un motore di ricerca una domanda esplicativa (basti pensare al titolo di questo thread..)

P.S.
Il file ok.txt lo creo io manualmente da un'altra pagina php "controllo.php" dalla quale gestisco in tempo reale cosa gli utenti connessi possano vedere.

4 Risposte

  • Re: Pagina di attesa ad un link attivo solo quando voluto

    Ciao la risposta è AJAX.
    Con AJAX puoi fare le chiamate asincrone per controllare l'esistenza del file in questione senza fare il refresh della pagina di attesa.
  • Re: Pagina di attesa ad un link attivo solo quando voluto

    Grazie,

    quindi con ajax posso "interrogare" il server sull'esistenza di un file all'interno di una cartella del server stesso?

    Ti ricordi il nome del metodo o della funzione in modo che possa documentarmi a riguardo?
  • Re: Pagina di attesa ad un link attivo solo quando voluto

    Ciao ti ho preparato lo script per il check asincrono del file:
    <script type="text/javascript">
    var url = '{qui metti l'indirizzo http del file}';
    var timerUrlExists=  setInterval(UrlExists,3000);
    function UrlExists()
    {    
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("HEAD", url, false);
        xmlhttp.setRequestHeader('Content-Type', 'text/plain');
        xmlhttp.setRequestHeader('Cache-Control', 'no-cache');
        xmlhttp.send(null);
        if (xmlhttp.status == 200)
    	{
    	alert('ok');
    	clearInterval(timerUrlExists);
    	}else{
    	alert('ko');
    	}
    }
    </script>
  • Re: Pagina di attesa ad un link attivo solo quando voluto

    Grazie,
    per adesso funziona alla grandissima.

Devi accedere o registrarti per scrivere nel forum
4 risposte