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

Discussione: Timer lato server

  1. #1

    Timer lato server

    Salve a tutti ragazzi, vi spiego il mio problema:
    mi servirebbe un timer lato server, non fatto in javascript, perché vorrei che fosse sincronizzato con tutti gli utenti,(in stile prezzi pazzi). Avete qualche consiglio? Grazie in anticipo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Lato server puoi solo sapere l'orario di scadenza, se devi mostrare un timer sul browser non hai altra scelta che farlo in Javascript.

  3. #3
    Si ma con javascript non é sincronizzato.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Vero, infatti i countdown "in tempo reale" che vedi non sono davvero in tempo reale.
    Farà poi fede l'orario del server.

    I tempi veri sono quelli che ad esempio vedi su eBay, lì ti stampano un semplice testo "scade tra 2 minuti", "scade tra 35 secondi"... e per vedere il nuovo tempo rimanente devi ricaricare la pagina perché il server fa il conto e notifica il tempo restante.

    PHP non ti potrà mai mostrare un countdown perché non ha effetto sulle pagine già visualizzate, PHP vive solo sul server, una volta che stai visualizzando una pagina, PHP ha finito il suo lavoro su di esssa e non potrà più modificarla.

    Edit: Anzi, il server potrebbe notificare sia il timestamp di quando si è richiesta la pagina che il timestamp della scadenza, ma sarà poi sempre Javascript a fare i conti e mostrarti il countdown, in questo caso dovrebbe esserci sincronia.
    Ultima modifica di Alhazred; 11-04-2014 a 18:06

  5. #5
    E allora che linguaggio mi consigli?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Leggi l'ultima parte del messaggio precedente, l'ho modificato mentre scrivevi.

  7. #7
    In parole povere cosa devo fare?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Potresti far fare a PHP il conto

    timestamp_scadenza - timestamp_ora_corrente

    questo rappresenta i secondi rimanenti fino alla scadenza.
    Nel generare la pagina passi questo valore a Javascript e Javascript sulla base di ciò motrerà un countdown a partire dai secondi che ha ricevuto da PHP.

    per timestamp intendo il tempo nel formato che ti restituisce la funzione time()

  9. #9
    Ma il timestamp di scadenza deve cambiare ogni volta che si preme su un pulsante, perché se tipo sono le 18:20:00 il timestamp di scadenza deve essere 18:20:05 ma se nel frattempo tipo alle 18:20:03 viene premuto il pulsante il timestamp di scadenza deve cambiare fino a 18:20:08

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Allora in quel caso lì entra in gioco AJAX.

    Alla pressione del pulsante devi inviare una chiamata asincrona ad uno script PHP che modificherà la scadenza sul db.
    Ogni client invia ad intervalli regolari (di 1 secondo?) una chiamata asincrona ad un altro script PHP che fa il calcolo timestamp_scadenza - timestamp_ora_corrente e lo comunica in risposta, AJAX aggiornerà il contdown sul browser con questo valore ricevuto.

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.