Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Contagem regressiva mantendo contagem no refresh

12-10-2007 10:30

Esse script abaixo, permite ter um contador de contagem regressiva que ao atualizar o documento, não volta ao início do contador novamente, e sim, onde estava.

Ex.: O contador vai mudar o documento em 30 segundos, se no segundo 25 o visitante dar um refresh, o contador se manterá nos 25 segundos.

Esse script é baseado no redirecionamento do documento após o tempo da contagem regressiva, e por usar cookie, no documento que vai receber esse redirecionamento, deve haver o deletamento desse cookie.

contagem.php
- Esse arquivo é o que vai criar o cookie e fazer o redirecionamento após o tempo.

<?php $tempo_atual = mktime(date("m-d-Y H:i:s")); $tempo_permitido = 30; // tempo em segundos até redirecionar if($_COOKIE['Cookie_countdown']=="") { $tempo_entrada = mktime(date("m-d-Y H:i:s")); $tempo_cookie = '3600'; // em segundos setcookie("Cookie_countdown", "$tempo_entrada", time()+($tempo_cookie)); } else { $tempo_gravado = $_COOKIE['Cookie_countdown']; $tempo_gerado = $tempo_atual-$tempo_gravado; $fim = $tempo_permitido-$tempo_gerado; if($fim <= 0) { echo "tempo esgotado"; } else { //echo $fim; } } ?>


<script language="JavaScript"> var contador = '<?php if($fim=="") { echo $tempo_permitido+1; } else { echo "$fim"; } ?>'; function conta() { if(contador <= 0) { location.href='limpacookie.php'; return false; } contador = contador-1; setTimeout("conta()", 1000); document.getElementById("valor").innerHTML = contador; } </script>


<body onLoad="conta()"> <div id="valor"></div>

Na parte em JavaScript do código acima, existe um location.href direcionando para limpacookie.php

Esse arquivo é importante, porque irá limpar os valores do cookie atual, permitindo que quando o visitante voltar para contagem.php comece novamente do tempo definido.

O limpacookie.php deve ter o seguinte conteúdo:

<?php setcookie("Cookie_countdown"); ?>

Após isso, você pode oferecer ao visitante um link para voltar para o contagem.php novamente, já que vai começar do tempo definido novamente.
1
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Contagem regressiva mantendo contagem no refresh

14-05-2012 13:17

Após um teste com o script, ele apresentou alguns problemas. Segue abaixo o script corrigido.

<?php $tempo_atual = @mktime(date("Y/m/d H:i:s")); $tempo_permitido = 30; // tempo em segundos até redirecionar $fim = ""; if($_COOKIE['Cookie_countdown']=="") { $tempo_entrada = @mktime(date("Y/m/d H:i:s")); $tempo_cookie = '3600'; // em segundos setcookie("Cookie_countdown", "$tempo_entrada", time()+($tempo_cookie)); } else { $tempo_gravado = $_COOKIE['Cookie_countdown']; $tempo_gerado = $tempo_atual-$tempo_gravado; $fim.= $tempo_permitido-$tempo_gerado; if($fim <= 0) { echo "tempo esgotado"; } else { //echo $fim; } } ?>

 
<script language="JavaScript"> var contador = '<?php if($fim=="") { echo $tempo_permitido+1; } else { echo "$fim"; } ?>'; function Conta() { if(contador <= 0) { location.href='teste2.php'; return false; } contador = contador-1; setTimeout("Conta()", 1000); document.getElementById("valor").innerHTML = contador; } window.onload = function() { Conta(); } </script>

 
<div id="valor"></div>

1
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Contagem regressiva mantendo contagem no refresh

13-06-2013 12:46

Vou postar uma nova versão desse script, somente com o uso de SESSION

<?php session_start(); $tempo_atual = @mktime(date("Y/m/d H:i:s")); $tempo_permitido = 30; // tempo em segundos até redirecionar $fim = ""; if(@$_SESSION['Cookie_countdown']=="") { $tempo_entrada = @mktime(date("Y/m/d H:i:s")); $tempo_cookie = '3600'; // em segundos $_SESSION['Cookie_countdown'] = $tempo_entrada; } else { $tempo_gravado = $_SESSION['Cookie_countdown']; $tempo_gerado = $tempo_atual-$tempo_gravado; $fim.= $tempo_permitido-$tempo_gerado; if($fim <= 0) { echo "tempo esgotado"; $_SESSION['Cookie_countdown'] = ""; } else { } } ?>


<script language="JavaScript"> var contador = '<?php if($fim=="") { echo $tempo_permitido+1; } else { echo "$fim"; } ?>'; function Conta() { if(contador <= 0) { location.href='teste2.php'; return false; } contador = contador-1; setTimeout("Conta()", 1000); document.getElementById("valor").innerHTML = contador; } window.onload = function() { Conta(); } </script>


<div id="valor"></div>

2
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Mensagens: 4
Nome: Santos
Sexo: Masculino
Localização: Bahia

Re: Contagem regressiva mantendo contagem no refresh

09-09-2015 13:40

Boa tarde !

Estou utilizando esse script em um projeto com um cronômetro, pegando a hora e data que estão armazenadas no banco de dados, como sendo data e hora base para o início do cronômetro. Porém, ele fica com uma diferença quando a página é atualizada, e quando tenho 3 navegadores abertos também fico com diferença, porque se o navegador 1 atualizar ele sobe a contagem em cerca de 4 segundos mais varia... aí já fica diferente dos demais navegadores preciso de todos iguais

Estou utilizando da seguinte forma no PHP:

$tempo_atual = strtotime(date('Y-m-d H:i:s')); $tempo_entrada = strtotime("2015-09-09 13:26:00"); // Aqui a hora armazenada no banco de dados $tempo_permitido = 1801; // tempo em segundos até redirecionar, no meu caso 30 minutos $fim = ''; if(isset($_SESSION['contador']) and empty($_SESSION['contador'])) { $_SESSION['contador'] = $tempo_entrada; }else{ $_SESSION['contador'] = $tempo_entrada; $tempo_gravado = isset($_SESSION['contador']) ? $_SESSION['contador'] : FALSE; $tempo_gerado = $tempo_atual-$tempo_gravado; $fim.= $tempo_permitido-$tempo_gerado; if($fim <= 0) { $_SESSION['contador'] = $tempo_entrada; } }

Aqui eu jogo no crnômetro:

cronometro(<?php if(empty($fim)) { echo $tempo_permitido; } else { echo $fim; } ?>);

Poderia me ajudar ? Muito Obrigado desde já. Excelente script.
1
Fé e coragem !
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Contagem regressiva mantendo contagem no refresh

09-09-2015 14:29

Esse script tem como base um único navegador. Até porque você está criando uma SESSION nele. Sendo assim cada navegador funciona de forma independente.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Mensagens: 4
Nome: Santos
Sexo: Masculino
Localização: Bahia

Re: Contagem regressiva mantendo contagem no refresh

09-09-2015 14:34

Opa, obrigado ai pela atenção !

Olha só, eu já estou utilizando... mesmo assim se eu atualizar a página ele acrescenta mais segundos, e as vezes nao
0
Fé e coragem !
 
Primeiras postagens
Primeiras postagens
Mensagens: 4
Nome: Santos
Sexo: Masculino
Localização: Bahia

Re: Contagem regressiva mantendo contagem no refresh

09-09-2015 14:36

Pensei nisso... estou desenvolvendo um sistema de leilão... e preciso desse contador sincronizado, mais se atualizarem a página já era
0
Fé e coragem !
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Contagem regressiva mantendo contagem no refresh

09-09-2015 14:51

Talvez se fizer algo baseado na hora do servidor. Tipo, um script que indique quantos minutos faltam para determinada hora.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Mensagens: 4
Nome: Santos
Sexo: Masculino
Localização: Bahia

Re: Contagem regressiva mantendo contagem no refresh

09-09-2015 15:07

Essa hora de entrada eu coloquei aí pra você entender, mais no lugar dela eu trago a hora que está salva no banco de dados que é o início do leilão... só não sei como fazer o esquema que você falou
0
Fé e coragem !
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Contagem regressiva mantendo contagem no refresh

09-09-2015 15:30

Tem um exemplo em JavaScript postado no link abaixo
Quantos-dias-faltam-para-determinada-data_69_5291.html

<br> <script language="JavaScript"> TargetDate = "12/31/2020 5:00 AM"; BackColor = "palegreen"; ForeColor = "navy"; CountActive = true; CountStepper = -1; LeadingZero = true; DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds."; FinishMessage = "It is finally here!"; </script> <script language="JavaScript" src="http://scripts.hashemian.com/js/countdown.js"></script>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado