• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

andfernandes

Inserir Contador de tempo

12 mensagens neste tópico

Ola!

Tenho de realizar um trabalho k consiste em realizar um site de quiz em k o utilizador vai respondendo ás kestoes com o tempo a passar e depois kuando acaba é guardado tempo k ele demora e as perguntas k ele acertou. o k pretendia é se alguem me podia dar uma ideia de como implementar o tempo se uso java script mas depois como é k paro o tempo nao sei k instruçao usar.. podiam por aki codigo ou alguma coisa k me podesse ajudar a implementar o contador de tempo. obrigad

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

usas PHP

tens funçoes em PHP para ir buscar o tempo

guardas o tempo inicial numa var

o tempo final numa var

convertes para UNIX TIMESTAMP ambas

depois fazes a diferença

da-te os segundos decorridos

*UNIX TIMESTAMP funçao mktime

quando ao contador tem que ser a parte em javascript, mas é independente disto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O contador tem de ser em javascript, pois é corrido no computador remoto.

Como disse o entering para guardar o tempo que demorou podes usar as funções do PHP.

Mas para controlar quando acaba o tempo já não dá em PHP, corrijam-me se estiver enganado.

Para controlar o tempo fazes uma função em javascript (até convem que o utilizador veja o tempo que falta) e quando chegar ao final desse tempo fazes com que faça o envio do que respondido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nao da para armazenar quando acaba o tempo?

PK?!

basta ter um butao no inicio do teste, estilo START

e no fim um FINISH

clicas em start poe o tempo actual para uma var

clicas no finish depois de responderes e poe o tempo nessa altura para outra var

Depois passas os tempos para UNIX TIMESTAMP e fazes a diferença da-te os segundos que demorou

O contador em javascript é só para saber quanto tempo o utilizador ja gastou, é só a nivel grafico nao vai entrar para as contas de nada, existem muito contadores desse por ai é só googlar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dá para armazenar quando acaba o tempo mas penso que com auxilio do javascript.

Se não fossem testes em que tens um tempo limitado aí não precisavas do javascript.

Eu tava a dizer para usar o javascript para que quando acabe o tempo a página seja reencaminhada para a pagina de resultados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ola!

Tenho de realizar um trabalho k consiste em realizar um site de quiz em k o utilizador vai respondendo ás kestoes com o tempo a passar e depois kuando acaba é guardado tempo k ele demora e as perguntas k ele acertou. o k pretendia é se alguem me podia dar uma ideia de como implementar o tempo se uso java script mas depois como é k paro o tempo nao sei k instruçao usar.. podiam por aki codigo ou alguma coisa k me podesse ajudar a implementar o contador de tempo. obrigad

quando o utilizador acaba o quiz clica no terminar ou fim ou enviar ou algo do genero apenas mudar a label

o tempo nao acaba o utilizador é que acaba o quiz, foi assim que andfernandes deu a entender

só se já for mau português do andfernandes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não fossem testes em que tens um tempo limitado aí não precisavas do javascript.

Só precisa do javascript para quando tem tempo limitado...

Pode não ter sido pedido pelo andfernandes, mas acho que tem lógica que o teste não dure uma duzia de dias....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

claro,

mas então se é necessário javascript esta não é a secção correcta para o post mas sim Linguagens Web

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E se eu tiver o javascript inactivo?

Ora, as sessões permitem-te fazer isso

Quando o user abre a página, tem o $_SESSION['start'] = time();

Se o $_SESSION['start'] + 3600 < time() // isto é, se já passou mais que uma hora

entao nao aceitas o pedido.

NUNCA, mas NUNCA confies no cliente. Enganar isso seria tão simples quanto abrir o firebug e mudar o valor da variável.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não estou a sugerir que o PHP não controle a cena toda.

O que sugiro é que use o PHP para controlar tudo e que utilize o javascript para informar o utilizador.

Quando acabar o tempo em vez de ignorar o pedido como dizes não vai submeter nada do que fez.

Ou seja o teste fica a zero. Se conciliar as duas coisas, PHP e javascript assim quando acabar o tempo o javascript chama a pagina de submeter e se houve um esperto que se armou em enganar o javascipt o PHP vai estar lá para controlar a coisa.

Se demorou mais do que podia quer dizer que esteve a enganar o javascript mas não pode enganar o PHP pelo que será tido isso em consideração e o teste fica na mesma guardado para posterior avaliação pelas ENTIDADES COMPETENTES. :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim já percebo.

Agora a única coisa que falta é converteres o time() do PHP para Javascript.

Pelo que vejo, tens q definir 2 variáveis, sendo uma delas a hora limite, e a outra a hora corrente.

Se precisares de ajuda a converter, avisa :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora