Timer Php [ Problema ] postato il 15/08/2010 19:34:38 nel forum programmazione, gdrcd e open source
Dunque, mi spiego in breve e faccio un esempio di modo che capiate.
Vorrei fare un timer che non si fermi anche se chiudi la pagina.
Es.
Clicca 1 --> Timer Cowntdown 1 minuto
Clicca 2 --> Timer Cowntdown 2 minuto
Clicca 3 --> Timer Cowntdown 3 minuto
Ovvero una pagina che ti mostri un Cowntdown con il tempo in base a dove clicchi, e anche se chiudi la pagina continua fino alla conclusione e automaticamente alla conclusione assegni dei valori al DataBase. Ad esempio: allo scadere del timer modifica la tabella personaggio dando exp +1.
Spero d'essermi spiegata abbastanza da farvi capire xD E' complesso persino spiegarlo.
Pagine → 1
15/08/2010 19:44:14 e modificato da blancks il 15/08/2010 19:45:52
Il segreto non sta nel fabbricare un timer vero, ma nel simularne uno memorizzando un tempo di riferimento e valutando tramite una sottrazione col tempo attuale se l'intervallo minimo necessario ad eseguire l'operazione che vuoi sia stato raggiunto.
A tal proposito può tornarti utile la sessione.
Ti faccio un esempio:
15/08/2010 20:07:06
Quello che vuoi fare tu, ovvero che, allo scadere dei 3 minuti esatto, aumenti qualcosa, l'esperienza o quel che sia, anche a pagina chisa, ovviamente non e' possibile.
Sarebbe come dire che viaggiando in auto, vuoi continuare a percorrere strada anche quando l'auto e' parcheggiata. Chiaro che se l'auto non e' in moto non puo' percorrere strada.
Quando la pagina e' chiusa il programma "non e' in moto". E' in moto solo da quanto tu col, browser richiedi, la pagina (scrivi l'indirizzo, clicchi su aggiorna, fai un refresh automatico). Quindi le strade che puoi percorrere sono 2: O il timer e' attivo solo quando la pagina e' aperta, e in quel caso puoi usare un timer in javascript che, allo scadere, fa una chiamata asincrona alla pagina per richiedere l'incremento che vuoi (ma in quel caso un utente puo' anche smanettare con la pagina scaricata, tipo per triplicare la frequenza dei bonus), oppure fai il modo che, ogni volta che l'utente loggato carica una pagina, venga calcolato quanto tempo e' passato dall'ultima assegnazione di un bonus e vengano assegnati tutti i bonus a cui l'utente ha diritto per il tempo trascorso.
15/08/2010 20:24:56
Esatto, ti salvi una data di quando inizia il countdown e quando finisce, poi con javascript lo fai vedere lato client...
Infine quando tornerai a visitare quella pagina, il sistema aggiornerà il tutto.
15/08/2010 20:30:01
Ho capito le spiegazioni, ma resto comunque non in grado di riprodurlo, in quanto è una cosa che devo ancora imparare bene.
16/08/2010 00:56:05
mi introduco anke io nella discussione xk sto iniziando ad approcciarmi un po con js che devo dire mi sta riuscendo un po complicato.
Se io ho un risultato in php,il tempo trascorso..
come faccio a prelevare questo risultato dal php e farlo visualizzare tramite js.
Tipo,ho la variabile
$Tempo = 500;
500 sono i secondi.
Ora questo numero scende di 1 ogni secondo.
Ora,con js,come faccio a prelevare il valore di questa variabile :-)?
Non ho ne ho la + pallida idea O.o'
16/08/2010 11:31:51
Dovresti, a seconda di dove hai infilato quel '500' all'interno della pagina, recuperare il nodo dell'albero e successivamente risalire al valore. Un bel document.getElementById() per recuperare l'id dell'elemento (ovviamente lo devi aver assegnato) e successivamente value per recuperare il valore vero e proprio.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
I dati del generatore di rank sono stati aggiornati!