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


Moderador: web

 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7

Exibir contagem regressiva JavaScript e PHP

02-05-2010 11:01

Olá a todos,

Parabéns por fazerem o fórum tão interessante ]:) :rofl:

Estou tentando por um script para funcionar que baixei na web, é um tipo de "auto-launcher". O "kit" é composto de 4 arquivos (2 arquivos em PHP sendo 1 para chamar a data corrente do visitante e outro para criar um cookie na máquina + uma página com os códigos html e Java Script que chamam os códigos + um arquivo em html com instruções básicas para personalização)... que funcionaria assim:

- O objetivo é criar um cookie na máquina do visitante e alguns dias depois a uma determinada hora passar a redirecionar o visitante que voltar a página para um outro endereço (recurso que pode ser usado em "lançamentos" de produtos ou promoções por tempo limitado na web).

O PROBLEMA: A função de redirecionar o usuário "x" dias depois funciona perfeitamente, mas ele não exibe o contador de jeito nenhum na página index.htm

Abaixo posto os códigos dos 3 arquivos (cookie.php, currentdate.php e index.htm), sei que existem formas mais inteligentes de fazer esse tipo de promoção de lançamento ou oferta por tempo limitado, o que acontece é que já virou um desafio por esse script a mostrar o contador, espero mesmo que consigam me ajudar, posso passar qualquer detalhe adicional que possa clarear a mente de vocês, o problema deve estar na minha cara e não consigo ver... Muito obrigado :!:


No arquivo cookie.php podemos configurar em quantos dias queremos que o visitante seja redirecionado e a hora exata a partir da qual ele passará a ser redirecionado:

<?php $days = 100; // How Many Days From Now $hour = 14; // Launch Time (24:00) $url = 'http://www.google.com'; // Where they go when countdown completes. $dateFormat = '%%D%% %%H%% %%M%% %%S%%'; $dateFont = 'Arial'; $dateSize = '32px'; $dateColor = '#000000'; // #000000 for black #FF0000 for red $cookieName = 'autolauncherx5'; // Create new name for every autolauncher session_start(); ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// //////// DO NOT EDIT ////////// ///////////////////////////////////// ///////////// BELOW ////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// if ($_REQUEST["do"]=='delete') { setcookie($cookieName, '', time()); $_COOKIE[$cookieName]=''; exit; }; $currentTime = time(); if ($_COOKIE[$cookieName]<>'') { /// cookie exists if ($currentTime > $_COOKIE[$cookieName]) { /// passed echo "window.location.href='".$url."'"; exit; } else { /// still counting $secondsCount = $_COOKIE[$cookieName] - $currentTime; }; } else { /// create new cookie $userDate = split("-",$_SESSION["userDate"]); // m - d - yyyy $launchDate = mktime($hour, 0, 0, $userDate[0]+1, $userDate[1] + $days, $userDate[2]); setcookie($cookieName, $launchDate, time()+3600000); $secondsCount = $launchDate - $currentTime; }; ?> var DisplayFormat = "<?php echo $dateFormat; ?>"; //// display format var CountStepper = -1; var CountActive = true; var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990; function calcage(secs, num1, num2) { s = ((Math.floor(secs/num1))%num2).toString(); return s; } function CountBack(secs) { if (secs < 0) { window.location.href='<?php echo $url; ?>'; CountActive = false; }; if (calcage(secs,86400,100000)>0) { DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000) + ' Days'); } else { DisplayStr = DisplayFormat.replace(/%%D%%/g, ''); }; if (calcage(secs,3600,24)>0) { DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24) + ' Hours'); } else { DisplayStr = DisplayStr.replace(/%%H%%/g, ''); }; if (calcage(secs,60,60)>0) { DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60) + ' Minutes'); } else { DisplayStr = DisplayStr.replace(/%%M%%/g, ''); }; DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60) + ' Seconds'); if (CountActive) { document.getElementById("cntdwn").innerHTML = "<span style='font-size:<?php echo $dateSize; ?>; color:<?php echo $dateColor; ?>; font-family:<?php echo $dateFont; ?>'>" + DisplayStr + "</span>"; setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod); } } CountBack(<?php echo $secondsCount; ?>);



O arquivo currentdate.php está assim (aparentemente funciona):
<?php session_start(); $_SESSION["userDate"] = $_REQUEST["dt"]; ?>

O index.htm está da seguinte forma (acho que o problema deve estar aqui):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Almost Here</title> </head> <body bgcolor="#000000"> <div align="center"> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" height="889" width="728"> <!-- MSTableType="layout" --> <tbody> <tr> <td height="887" valign="top" width="724"> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <span style="font-weight: 700; background-color: rgb(255, 255, 0);"> <font face="Courier New" size="5"> &nbsp;&nbsp; </font> <font face="Arial" size="5"> &nbsp;Warning!</font></span></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp; </p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="center"><b> <font face="Arial" size="7">Only </font></b></p> <b> <font face="Courier New" size="7"> </font></b> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="center"><b><font face="Courier New" size="7"> </font></b></p> <p align="center"></p> <center> <div id="cntdwn"></div> </center> <b> <font face="Arial" size="7"> <script language="javascript"> var currentDate = new Date(); var day = currentDate.getDate(); var month = currentDate.getMonth(); var year = currentDate.getFullYear(); var passDT = month + "-" + day + "-" + year; document.write('<img src="currentdate.php?dt=' + passDT + '" width="1" height="1">'); </script> <script language="javascript" src="cookie.php"></script></font></b> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="center"><b> <font face="Arial" size="7">Left!</font></b></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <blockquote> <blockquote> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <font face="Arial">Wow,</font></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <font face="Arial"><b>It's closing in MUCH faster than I expected. </b>&nbsp;We have everything now in place and are simply waiting for the countdown to complete!</font></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <font face="Arial">Once this happens, you will be redirected to a special page, where you can FINALLY view this sought after and extremely rare content.</font></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <font face="Arial">Remember, this is the FIRST TIME this has EVER been revealed.</font></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp; </p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <font face="Arial">If you want to reserve your seat in history, make sure you are at this site EXACTLY when the Countdown strikes ZERO.&nbsp;&nbsp; (That's at 3:00PM)</font></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp; </p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <b><font face="Arial">Even if you are a few seconds late, you might miss your chance!</font></b></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <font face="Arial">Thanks,</font></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"> <font face="Arial">Your Name</font></p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> </blockquote> </blockquote> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left">&nbsp;</p> </td> </tr> </tbody> </table> <p style="margin-top: 0pt; margin-bottom: 0pt;" align="left"></p> </div> </body> </html>

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

Exibir contagem regressiva JavaScript e PHP

02-05-2010 13:21

Rodei aqui fazendo as seguintes mudanças:

Meu currentdate.php ficou assim:

<?php session_start(); extract($_GET); $_SESSION["userDate"] = $dt; ?>

No arquivo cookie.php, tem um trecho para não editar, deixa a parte acima dessa forma

<?php session_start(); $days = 100; // How Many Days From Now $hour = 14; // Launch Time (24:00) $url = "http://www.google.com"; // Where they go when countdown completes. $dateFormat = '%%D%% %%H%% %%M%% %%S%%'; $dateFont = 'Arial'; $dateSize = '32px'; $dateColor = '#000000'; // #000000 for black #FF0000 for red $cookieName = 'autolauncherx5'; // Create new name for every autolauncher ///////////////////////////////////// ...

0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7

Exibir contagem regressiva JavaScript e PHP

02-05-2010 15:42

Olá,

Fiz as alterações sugeridas acima e ainda assim a contagem não aparece na página index.htm. Será que a minha index tem alguma coisa errada? Ou o problema pode estar com qualquer outra coisa tipo servidor ou pc? Testei em 3 navegadores diferentes (chrome, ie e firefox) e aparece só um espaço em branco onde apareceria o contador. No Internet Explorer chega a dar um erro (Linha 42, Caractere 1, Erro de Sintaxe). Estou testando no servidor 000web... e local (usando o wamp serv).

Olho para esse código e simplesmente não vejo o que está errado :-( :drunk:

A linha 42 é:
<div id="cntdwn"></div>

De qualquer forma obrigado web! Continuo pesquisando e testando :)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17685
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Exibir contagem regressiva JavaScript e PHP

02-05-2010 15:46

O documento que você usa .html, eu testei aqui como .php, e funcionou.
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7

Exibir contagem regressiva JavaScript e PHP

02-05-2010 16:02

Ainda não funcionou comigo, mudei a extensão para .php e antes tinha tentado mudar para .htm... Mas testando agora observei que usando o wamp e tentando rodar o index (com qualquer extensão) pelo firefox dá um erro tipo: O Firefox não conseguiu localizar o arquivo /C:/wamp/www/autolauncher/<?php echo $url; ?>. Procurei pelo codigo no final da url e achei ele no arquivo cookie.php (pela parte que não é para editar). Vou fazer mais testes com o servidor e o index com a extensão .php (vou fazer upload mais uma vez, limpar os cookies dos navegadores de novo antes de testar). Obrigado web :)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17685
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Exibir contagem regressiva JavaScript e PHP

02-05-2010 16:18

Como servidor aqui uso o Xampp, esse wampp pode estar não interpretando corretamente o script. Esse erro que deu ai, de mostrar /C:/wamp/www/autolauncher/<?php echo $url; ?> aconteceu aqui quando meu index estava .html

Quando troquei para PHP funcionou certo. Se possível teste em um servidor online ou baixe o Xampp
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7

Exibir contagem regressiva JavaScript e PHP

02-05-2010 17:03

Funciona! :-o :rofl:

Com o xampp funcionou! No servidor "000" não, mas durante a semana vou fazer upload para um servidor melhor (pago rsrs)... Obrigado, Funciona! Funciona!! rsrs (brincadeira) pode fechar o tópico por favor e obrigado mesmo web!!. Esse fórum é mesmo espetacular! :rofl:
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17685
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Exibir contagem regressiva JavaScript e PHP

02-05-2010 17:33

Boa ;-)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

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