Foros del Web » Programando para Internet » PHP »

Variable Javascript pasar a PHP y usarla en un if

Estas en el tema de Variable Javascript pasar a PHP y usarla en un if en el foro de PHP en Foros del Web. Buenas, espero que estén bien. Tengo un pequeño problema o algo así, les explico mi situación. Quiero hacer un horario que me muestre solamente lo ...
  #1 (permalink)  
Antiguo 28/07/2014, 18:44
 
Fecha de Ingreso: noviembre-2013
Mensajes: 29
Antigüedad: 6 años, 2 meses
Puntos: 0
Pregunta Variable Javascript pasar a PHP y usarla en un if

Buenas, espero que estén bien.
Tengo un pequeño problema o algo así, les explico mi situación.
Quiero hacer un horario que me muestre solamente lo que sucederá en el día, para ello quiero que con Javascript(ya que es la única forma que se puede, según leí) coger el día del pc de la persona. Y dependiendo del día mostrara un horario diferente: les muestro lo que tengo:

Código PHP:
<?php
if ( $hoy == Monday ) {
 
$dia file("dias/1Lunes.txt");
}
?>
<?
echo $dia;?>
eso va bien si utiliso date() con php pero el problema es que coge la hora del servidor, yo quiero la hora del pc, he intentado varias formas, una es esta, pase la variable de java a php quedó algo asi:
Código PHP:
<script>
var a = new Date()
var b = a.getDay();
</script>
<?php
$hoy 
'<script> document.write(b) </script>';
echo 
"$hoy"// Imprimir para comprobar si se ha convertido
?>
<?php
if ( $hoy == ) {
 
$dia file("dias/1Lunes.txt");
}
Si se imprime, pero no funciona con el if :S alguna idea de lograr lo que quiero o lograr que este script lo haga?
  #2 (permalink)  
Antiguo 28/07/2014, 19:13
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 11 años, 8 meses
Puntos: 528
Respuesta: Variable Java pasar a PHP y usarla en un if

1. Java no es Javascript.

2. La fecha del cliente la puedes obtener por javascript, pero puede suceder que el cliente no tenga la fecha correcta, que esté atrasado o adelantado a la fecha real.

3. No puedes mezclar javascript y php así ya que javascript se ejecuta en el cliente y php en el servidor, en todo caso, debes obtener la fecha por javascript, y mediante post o get (recargando la página o por ajax) pasar el dato a php

En mi opinión lo mejor sería conocer la zona horaria del cliente y en php adaptar el horario a éste.
  #3 (permalink)  
Antiguo 28/07/2014, 19:21
 
Fecha de Ingreso: noviembre-2013
Mensajes: 29
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Variable Java pasar a PHP y usarla en un if

Cita:
Iniciado por ocp001a Ver Mensaje
1. Java no es Javascript.

2. La fecha del cliente la puedes obtener por javascript, pero puede suceder que el cliente no tenga la fecha correcta, que esté atrasado o adelantado a la fecha real.

3. No puedes mezclar javascript y php así ya que javascript se ejecuta en el cliente y php en el servidor, en todo caso, debes obtener la fecha por javascript, y mediante post o get (recargando la página o por ajax) pasar el dato a php

En mi opinión lo mejor sería conocer la zona horaria del cliente y en php adaptar el horario a éste.
Gracias por la corrección.
que debo utilizar para saber la zona de la persona?
  #4 (permalink)  
Antiguo 28/07/2014, 23:30
Avatar de kspr  
Fecha de Ingreso: agosto-2011
Ubicación: Ecuador
Mensajes: 43
Antigüedad: 8 años, 5 meses
Puntos: 7
Respuesta: Variable Javascript pasar a PHP y usarla en un if

que tal si la guardas y capturas con cookies?

Código HTML:
Ver original
  1.  
  2.  
  3. // http://www.quirksmode.org/js/cookies.html
  4. function readCookie(name) {
  5.     var nameEQ = name + "=";
  6.     var ca = document.cookie.split(';');
  7.     for(var i=0;i < ca.length;i++) {
  8.        var c = ca[i];
  9.        while (c.charAt(0)==' ') c = c.substring(1,c.length);
  10.        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  11.    }
  12.    return false;
  13. }
  14.  
  15. var obtenido = readCookie('user_timestamp');
  16.  
  17. if( !obtenido ){
  18.  
  19.  var now = new Date;
  20.  var timestamp = Date.UTC(now.getUTCFullYear(),now.getUTCMonth(), now.getUTCDate() ,
  21.         now.getUTCHours(), now.getUTCMinutes(),
  22.         now.getUTCSeconds(), now.getUTCMilliseconds());
  23.  
  24.  document.cookie = 'user_timestamp=' + timestamp;
  25.  location.reload();
  26.  
  27. }
  28.  

en php lo obtendrias asi:

Código PHP:
Ver original
  1. <?php
  2.  
  3.   $user_timestamp = int($_COOKIE['user_timestamp']);
  4.   $numbers_days = array(
  5.                                 1 => 'lunes',
  6.                                 2 => 'martes',
  7.                                 3 => 'miercoles',
  8.                                 4 => 'jueves',
  9.                                 5 => 'viernes',
  10.                                 6 => 'sabado',
  11.                                 7 => 'domingo'
  12.                                 );
  13.  
  14.   $day_number = date( 'N', $user_timestamp);
  15.   $day_name = $numbers_days[$day_number];
  16.  
  17.   echo $day_name;
  18.  
  19. ?>

la variable $day_name te imprimiria el nombre del dia, no probe el codigo pero creo deberia funcionar

Última edición por kspr; 28/07/2014 a las 23:35 Razón: falto en el codigo comprobar la cookie existente

Etiquetas: java, variable
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 11:24.