Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/12/2011, 17:41
dezagus
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Misterioso cambio de hora

Armé un reloj de cuenta regresiva, la cuestion es que al probarlo en diferentes pcs me cuenta un diferente horario, osea el horario de finalizacion varia ya que toma la hora de la pc del cliente y no la del servidor.

Es raro ya que cuando hago un echo desde dos pcs diferentes me muestra los mismos valores, pero cuando lo ejecuto es una cosa totalmente diferente.

La pc uno tiene de hora 8:32 (por ejemplo) y la pc dostiene 8:37, lo cual hace que la pc dos llegue más rápido a la cuenta regresiva. Lo curioso es que cuando mando un echo con la hora de sql (TIMESTAMP) es igual en ambas pcs.

Dejo el código aver si alguien me puede echar una mano, gracias desde ya!

Código:
<?php

if (basename($_SERVER["REQUEST_URI"]) != str_replace(".php", "", basename($_SERVER["REQUEST_URI"]))){
header("Location: ".str_replace(".php", "", basename($_SERVER["REQUEST_URI"])));
}

session_start();

/////// Validar Formulario > Conectar DB
include 'functions/conect.php';
///////

/////// Validar Formulario > Conectar DB
include 'functions/config.php';
///////

/// En caso de no estar activado el sistema devolver al home
if(!$preregister){
header("Location: home");
}
///

/// Redireccionar si es que terminó el conteo (si se aplica un refresh)
	$fechaactual = mysql_fetch_array(mysql_query("SELECT CURRENT_TIMESTAMP AS Time"));
	
	$espacioanti = explode(" ",$fechaactual["Time"]);
	$fechaanti = explode("-", $espacioanti[0]);
	$fechaantimin = explode(":", $espacioanti[1]);  
	
	$espacionue = explode(" ",$fechalanzamiento);
	$fechanueva = explode("-", $espacionue[0]);
	$fechanuevamin = explode(":", $espacionue[1]);
	
	// HORA MINUTO SEGUNDO MES DIA AÑO
	$fecha1 = mktime($fechaantimin[0],$fechaantimin[1],$fechaantimin[2],$fechaanti[1],$fechaanti[2],$fechaanti[0]); 
	$fecha2 = mktime($fechanuevamin[0],$fechanuevamin[1],$fechanuevamin[2],$fechanueva[1],$fechanueva[2],$fechanueva[0]); 
	$diferencia = $fecha2-$fecha1; 
	$diff['horas'] = (int)($diferencia/(60*60)); 
	
	//echo $diff['horas'];
	if($diferencia <= 0){
		header("Location: home");
	}
	
///

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<link href="style/prereg.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body { background-color: #303030; }
</style>
<script type="text/javascript" language="JavaScript">
 var futuro = new Date (<?php echo $fechanueva[0]; ?>,<?php echo $fechanueva[1]-1; ?>,<?php echo $fechanueva[2]; ?>,<?php echo $fechanuevamin[0]; ?>,<?php echo $fechanuevamin[1]; ?>); 
 var actualiza = 1000; 
 function faltan(){ 
 var ahora = new Date(); 
 var faltan = futuro - ahora; 
 if (faltan > 0){ 
 var segundos = Math.round(faltan/1000); 
 var minutos = Math.floor(segundos/60); 
 var segundos_s = segundos%60; 
 var horas = Math.floor(minutos/60); 
 var minutos_s = minutos%60; 
 var dias = Math.floor(horas/24); 
 var horas_s = horas%24; 
 document.formulario.reloj.value= dias + " dias - " + horas_s + " horas - " + 
 +minutos_s + " minutos - " + segundos_s + " segundos" ; 
 setTimeout("faltan()",actualiza); 
 } 
 else { 
 document.formulario.reloj.value= "0 dias - 0 horas - 0 minutos - 0 segundos" ; 
 return location.href="home"; 
 } 
 } 
 </script> 
</head>
<body onload="faltan()">
<div class="Deep">
	<div class="BoxCutter">
		<div class="BoxBann">
		<img src="imgweb/logo_corona.png" alt="Hotplank Logo" width="258" height="49" border="0" class="ImgBann" />
		<!-- padding-top: 45px; PARA BOTONES LOGEADO -->
			<div class="OpcionesMenu" align="center" style="padding-top: 45px;">					
					<a href="salir" class="BotonMenu">Salir</a>
			</div>
		</div>
		
		<!--Imagen de Fondo DEFAULT (  
		
		background-image: url(imgweb/contenidofont.png); background-repeat: no-repeat; padding-top: 100px; background-color:#ffffff;
		padding-top: 30px; background-color:#color;
		
		ffd6d6, ffa4a4
		f0c2ff, e187ff
		acbaff
		affaff, 5bf5ff
		c9ffd7, 55ff81
		e3ffa6, c6ff4a
		fff7b5, ffec4d
		ffcda5, ff9e50
		ffb1b1, ff5d5d

		-->
		<div class="Contenido" style="background-image: url(imgweb/contenidofont.png); background-repeat: no-repeat; padding-top: 100px; background-color:#ffffff;">
			<!-- CONTENIDO GENERAL -->
			
			<!-- COLORES INDICADOR
			d8ffda
			fffbd8
			ffd8d8
			-->
			
				
		  <div class="CntTitulo">Gracias por pre-registrarte, falta:</div>

		 <form name="formulario" style=" margin-top: 70px; margin-bottom: 50px;"> 
		 <p align="center"><font face="Corbel"> 
		 <input type="text" name="reloj" value="" size="45" style="text-align : center; font-family:Arial; color:#616161; font-size: 40px;">
		 </font></p>
		 </form>
		 
		 <div class="CntTitulo" style="font-size: 18px;">Serás redireccionado cuando la cuenta regresiva llegue a cero. <strong>Bienvenido a XXXXXXXXX!</strong></div>

			<!-- FIN DE CONTENIDO GENERAL -->
	  </div>
		<div class="Feet" align="center">
		<?php include 'functions/feet.php'; ?>
		</div>
	</div>
</div>
</body>
</html>