Foros del Web » Programando para Internet » PHP »

Dudas con este código de formulario

Estas en el tema de Dudas con este código de formulario en el foro de PHP en Foros del Web. Buen Día gente !!! Tengo un problemita... Resulta que tengo un formulario que me funciona correctamente, todo bién. El único detalle es que soy venezolano ...
  #1 (permalink)  
Antiguo 22/10/2006, 01:39
Usuario no validado
 
Fecha de Ingreso: diciembre-2001
Ubicación: MERIDA
Mensajes: 498
Antigüedad: 22 años, 4 meses
Puntos: 2
Dudas con este código de formulario

Buen Día gente !!!

Tengo un problemita... Resulta que tengo un formulario que me funciona correctamente, todo bién. El único detalle es que soy venezolano y desearía que los datos que se registren en mi base de datos tomen la fecha y la hora de VENEZUELA, mas no, la de ESPAÑA.

Pienso que lo que me falta, es modificar algo de la etiqueta "setlocale". Sin embargo, no he podido, he intentado de varias maneras. Quien me ayuda? Estaré inmensamente agradecido =)

Recuerden, lo que necesito es que en vez de salirme la fecha y hora de ESPAÑA, me salga la de VENEZUELA. (son 6 horas menos).

Qué debo hacer en este código? qué modifico?

<?php
$ip=$_SERVER['REMOTE_ADDR'];

setlocale(LC_ALL,'esn');
$dia=strftime("%A, %d de %B de %Y",time());
$hora=strftime(" - %H:%M.%S",time());

$datos=$_POST;
$todo="<b>Fecha: </b>".$dia. " ".$hora."<br>";
$todo=$todo."<b>Mensaje: </b>".$datos['mensaje']."<br><b>Correo: </b>".$datos['correo']."<br>";
echo "<h2><center>Mensaje recibido</center></h2><br>".$todo;
$todo=$todo."<b>IP: </b>".$ip."<hr>";
$archi = 'trol.htm';
$auxi = fopen($archi, 'a');
fwrite($auxi, $todo);
fclose($auxi);

?>

Saludos cordiales desde Venezuela !!! =)
  #2 (permalink)  
Antiguo 22/10/2006, 12:34
Usuario no validado
 
Fecha de Ingreso: diciembre-2001
Ubicación: MERIDA
Mensajes: 498
Antigüedad: 22 años, 4 meses
Puntos: 2
Nadie sabe? =(

Nadie sabe? =(
  #3 (permalink)  
Antiguo 22/10/2006, 13:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
setlocale() sólo sirve para entregar el formato de fechas, de monedas y detalles personalizados de "regionalización" concreta .. pero no hace ajuste horario por ejemplo. Eso tienes que hacerlo tu a mano teniendo en cuenta tu diferencia horaria entre la hubicación del servidor y la de los clientes o vistas de tu aplicación/web.

A la hora que obtienes en time() (la del servidor vía PHP) puedes restarle tu diferencia horaria .. Si sabes que time() entrega segundos .. sólo tienes que hacer la resta de tu diferencia horaría expresado en segundos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 22/10/2006, 13:59
Usuario no validado
 
Fecha de Ingreso: diciembre-2001
Ubicación: MERIDA
Mensajes: 498
Antigüedad: 22 años, 4 meses
Puntos: 2
...

Ok, me parece interesante tu explicación. Pero por qué no me dices exactamente, qué cambios debo hacer? =$ Resulta que php es nuevo para mi, no lo domino tanto como el html.

En este sentido, con el código que dejé en mi primer post, podrías modificarlo? donde le agrego los cambios.... please !!

Será que debo colocarle: time(-6)
o cómo? =$

Disculpa mi ignorancia.... =(

Saludos !!! y gracias por tu ayuda
  #5 (permalink)  
Antiguo 22/10/2006, 14:19
Usuario no validado
 
Fecha de Ingreso: diciembre-2001
Ubicación: MERIDA
Mensajes: 498
Antigüedad: 22 años, 4 meses
Puntos: 2
...

Hola !!!

También tengo este otro código que también me funciona, pero tiene el mismo problema de la hora española =(


<?php
$ip=$_SERVER['REMOTE_ADDR'];

setlocale(LC_ALL,'spanish');
$zone=3600*2 ;
$fechahora=gmdate("j/m/y H:i:s", time() + $zone);

$datos=$_POST;
$todo="<b>Fecha: </b>".$fechahora."<br>";
$todo=$todo."<b>Mensaje: </b>".$datos['mensaje']."<br><b>Correo: </b>".$datos['correo']."<br>";
echo "<h2><center>Mensaje recibido</center></h2><br>".$todo;
$todo=$todo."<b>IP: </b>".$ip."<hr>";
$archi = 'ver10b.htm';

$total = $todo.file_get_contents($archi);
//file_put_contents($archi, $total) ;

$auxi = fopen($archi, 'w');
fwrite($auxi, $total);
fclose($auxi);

?>


Qué cambios hago?
  #6 (permalink)  
Antiguo 22/10/2006, 17:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Ok, me parece interesante tu explicación. Pero por qué no me dices exactamente, qué cambios debo hacer? =$ Resulta que php es nuevo para mi, no lo domino tanto como el html.
Pero .. te costaría tanto hace un pequeño cálculo: ya te dije cual ...

Debes obtener los segundos que tiene la diferencia horaria España-Venezuela (que no sé cual es ni me corresponde a mi saberlo).

Luego sólo tienes que hacer una resta:
Código PHP:
$diferencia=time()-$segundos_diferencia
Esto no es tanto saber o no saber "PHP" como veras!.

(Por mi parte trato de "orientar" .. para bien o para mal .. así en otra ocasión tu ya sabras que hacer y sobre todo entenderas que haces o que solución se te propuso).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 22/10/2006, 19:09
Usuario no validado
 
Fecha de Ingreso: diciembre-2001
Ubicación: MERIDA
Mensajes: 498
Antigüedad: 22 años, 4 meses
Puntos: 2
Ok, gracias nuevamente. Por cierto, la diferencia en segundo entre España Y Venezuela es 21600 segundos. Y ahora veré como hago para adaptar todo lo demás al código.

Saludos !! y disculpa por la molestia. Thanks !!!
  #8 (permalink)  
Antiguo 22/10/2006, 21:04
Usuario no validado
 
Fecha de Ingreso: diciembre-2001
Ubicación: MERIDA
Mensajes: 498
Antigüedad: 22 años, 4 meses
Puntos: 2
De acuerdo Listo

Cita:
Iniciado por CYBERUSO Ver Mensaje


$zone=3600*2 ;

Que tal cluster, te cuento que ya solucioné mi problema. Aunque lo realicé de distinta manera ya que la sugerencia que tu me diste no estaba muy clara. En definitiva, lo único que hice fue cambiarle el número "2" por "-4" y LISTO... jajajajajajaj, que fácil estaba, jajajaj, lo tenía en mis narices..... jajajajajaj, Sucede que estuve leyendo otros manules y foros en la Internet y comprobé que solamente debía colocar un numerito, es decir, sustituir... jajajajaaj,

Gracias por tus comentarios..... ESTOY SUPER CONTENTO =)

Saludos !!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:07.