Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 28-10-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 22
D-MO Va por buen camino
Cita:
Empezado por elcigarra
a) Lo inicial y obvio. No tengo idea como obtener la fecha del sistema del usuario con php.
Lo veo muy dificil, por no decir imposible, ya que php toma la hora del servidor.
Las alternativas que veo son las siguiente:
  • Que el conozcas algunos datos del usuario, tales como la zona horaria de este, así cada vez que decida ver un evento, se hará una suma/resta a la hora/fecha del servidor dependeiendo de la ubicación de este. Para hacer esto es necesario que sea un usuario registrado y durante el registro deberás pedirle este dato.
  • Hacer uso de Ajax de la siguiente forma:
    • El usuario entra a la web y con javascript tomas la hora del sistema.
    • Luego envías esta hora a tu script php y este se encargará de hacer las comparaciones.
    • Hechas las comparaciones muestras el texto que indique el estado del evento.
Cita:
Empezado por elcigarra
b) No tengo idea como comparar estos datos de texto de la tabla con esta fecha luego de obtenida.
Todo dependería de que formato tendrán las fechas, por ejemplo, si la fecha de inicio del evento es "1 de noviembre de 2006" y la de fin del evento es "5 de noviembre de 2006", podríamos hacer algo como esto:
Código PHP:
<?php
$fecha_inicio
'1 november 2006';//Colocamos la fecha de inicio
$fecha_fin '5 november 2006';//y la fecha de finalización

$fecha_actual time(); //Tomamos la fecha actual (del servidor)

?>
Ahora debemos comparar que la fecha actual se encuentra dentro de el rango especificado por las variables "$fecha_inicio" y "$fecha_fin", para lo cual convertiremos estos datos en TimeStamps de Unix con la función strtotime():
Código PHP:
<?php 
$finicio 
strtotime($fecha_inicio);
$ffin strtotime($fecha_fin);

if(
$fecha_actual>=$finicio){
   if(
$fecha_actual<=$ffin){
      
///---El evento está activo
   
} else {
      
///---El evento ya finalizo
   
}
} else{
   
///---El evento no ha iniciado
}
?>
Cita:
Empezado por elcigarra
c) No sé si es posible asegurar la fecha verdadera más allá de que el usuario tenga una fecha equivocada en su sistema (Si no se puede, con la fecha del sistema estaría bien igual).
En este caso, bastaría con que revisaras si la fecha está en el rango -12,+12 horas de la fecha del servidor, ya que no puede tener una fecha con 12 horas de adelanto o atraso a la de este.

Pues no se me ocurre nada mas, talvés porque aquí es la 1:00 de la mañana, espero haberte ayudado en algo.

Saludos.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Formato de fechas en mysql seduerey MySQL 6 02-07-2007 09:53:31
Datos de archivos, fechas y conversiones... mjuan OOP 1 04-05-2006 14:07:07
Insertar Fechas en MySQL bustio SQL 2 12-01-2005 14:03:22
MYSQL pierde datos Dayvis MySQL 5 02-12-2004 14:42:16
me hace falta un componente para trabajar con fechas y bases de datos fearlex Conexión con bases de datos 17 13-07-2004 23:37:28


La franja horaria es GMT +2. Ahora son las 21:00:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi