Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Countdown non aggirabile con un refresh

    Ciau ragassuoli...
    Allora, ho una pagina in PHP che controlla una serie di condizioni e, a seconda di esse, visualizza un HTML differente.
    In pratica sto facendo un gioco a turni e quindi, quando l'utente gioca, rimane inattivo per un numero di secondi pari a (180 * (suoturno-1)), quindi se lui è terzo dovrà aspettare 360 secondi. Fin qui tutto bene, io mando un header e con un refresh continuo della pagina calcolo l'attesa. Il problema arriva quando inizia il suo turno, l'utente dovrà avere a disposizione una pagina che non si aggiorni di continuo: metterebbe male usarne i contenuti, ma che comunque tenga presente che dopo 180 secondi, l'utente deve assolutamente passare il turno.
    Avevo pensato a fare un semplicissimo countdown con flash ma è aggirabile con un refresh, quindi mi chiedevo come posso fare ciò.
    Grazie in anticipo per le risposte.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  2. #2
    nissuno?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    beh, in flash puoi richiamare uno script php e verificare se il turno e' utile o scaduto, senza fare il contdown ... oppure invece di fare un contdown generico ti connetti ad uno script php, verifichi a che punto e' la sua attesa e dal time attuale - quel time crei il contodown, insomma non devi basare questo controllo solo via client, il client ti serve al massimo eslcusivamente per mostrare quanto manca, non per gestire il tempo.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    allora se non ho capito male, per esempio potrei crearmi uno script in php che controlla se il turno è valido o meno, ma poi con flash posso, senza dover fare continui refresh, chiamare questo script per farmi dire se il turno è valido? Se si, possiamo discuterne qui di come farlo o è meglio se chiedo altrove?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  5. #5
    devi gestire i turni sul server, non sui client ... altrimenti basta mandare avanti o in dietro l' orologio e fai grandi casini.

    Una volta gestiti i turni sul server dal client puoi solo leggere quando iniziava il turno e a che punto siamo e riproporlo all' utente ... se hai basato tutto il gioco su client e' difficile ora dirti bene cosa fare ..
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    No, l'ho basato sul server in questo modo:

    Nella pagina di gioco ho questi controlli:
    codice:
    -Controllo se il giocatore è nel db del gioco(con mysql_num_rows)
    |
    |_____SE il giocatore NON è presente (mysql_num_rows == 0)
    |     |
    |     |____Possibilità1: Ha inviato un form per giocare 
    |     |    (lo inserisco nel database)
    |     |____Possibilità2: Non Ha inviato il form 
    |          (visualizzo il form)
    |
    |_____SE il giocatore è presente nel database
          |
          |____Possibilità1: NON è il suo turno (controllo del timestamp relativo all'orario attuale)
          |    (visualizzo un countdown che indica i secondi
          |     mancanti al turno e un refresh continuo della pag)
          |____Possibilità2: É il turno del giocatore (il timestamp attuale è uguale o maggiore dell'orario attuale)
               (visualizzo la pagina per il gioco) <-- qui andrebbe il countdown chiesto da me.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  7. #7
    allora fai una query in db ... in una pagina a parte

    SELECT timestamp FROM table WHERE user_id = $id ...

    $time = mysql_fetch_row($query);

    echo '&end='.(($time[0] + 180) - time());



    ... in flash ...


    var timeCheck = new LoadVars();
    timeCheck.onLoad = function(s) {
    if(s && this.end != undefined)
    trace('Ti mancano ' + this.end + ' secondi');
    }
    timeCheck.load('pagina_tempo.php');


    ... o qualcosa di simile, poi vedi tu come riadattare le info
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    quel codice che compare per il filmato flash viene però eseguito una volta sola o di continuo?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  9. #9
    Originariamente inviato da Lathspell
    quel codice che compare per il filmato flash viene però eseguito una volta sola o di continuo?
    lo esegui una volta, all' apertura della pagina, poi con un interallo da 1 secondo in flash aggiorni l' informazione ... cosi' il server lavora poco e se il tizio ricarica la pagina il flash riprende il contdown dal server ... pero' devi avere qualche nozione di ActionScript ... o postare li
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    Originariamente inviato da andr3a
    lo esegui una volta, all' apertura della pagina, poi con un interallo da 1 secondo in flash aggiorni l' informazione ...
    cioè una volta definita la funzione, posso richiamarla ogni volta che mi serve, facendo magari anche un ciclo?

    pero' devi avere qualche nozione di ActionScript ... o postare li
    per quello non dovrei avere molti problemi.

    ti ringrazio molto, sei stato davvero molto paziente. a buon rendere!
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.