Foros del Web » Programando para Internet » PHP »

como bloquear un boton a partir de una hora

Estas en el tema de como bloquear un boton a partir de una hora en el foro de PHP en Foros del Web. hola a todos espero me ayuden como lo han hecho siempre. tengo un formulario con un boton y quiero que este se bloquee despues de ...
  #1 (permalink)  
Antiguo 11/04/2013, 06:59
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 193
Antigüedad: 6 años, 4 meses
Puntos: 8
como bloquear un boton a partir de una hora

hola a todos espero me ayuden como lo han hecho siempre.
tengo un formulario con un boton y quiero que este se bloquee despues de las 12 del dia como lo puedo hacer??

de antemano muchas gracias. Saludos
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #2 (permalink)  
Antiguo 12/04/2013, 06:17
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 193
Antigüedad: 6 años, 4 meses
Puntos: 8
Respuesta: como bloquear un boton a partir de una hora

ayuda porfavor!!
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #3 (permalink)  
Antiguo 12/04/2013, 06:26
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 8 años
Puntos: 180
Respuesta: como bloquear un boton a partir de una hora

Esto no tiene nada que ver con PHP. Te toca con javascript.

http://www.todoexpertos.com/categori...abilitar-boton

Tambien busca como obtener la hora local de tu usuario (no la del servidor) con javascript. Unifica los dos en un solo script y ya.
__________________
Blog de humor http://elcuasatar.net63.net/
  #4 (permalink)  
Antiguo 12/04/2013, 08:04
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 193
Antigüedad: 6 años, 4 meses
Puntos: 8
Respuesta: como bloquear un boton a partir de una hora

hola gracias por responder.
entoces no se puede hacer del lado del servidor??
y si el usuario tiene deshabilitado javascript??
La hora que deshabilita el boton es de mi server.

Saludos
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #5 (permalink)  
Antiguo 12/04/2013, 08:20
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 11 años, 2 meses
Puntos: 31
Respuesta: como bloquear un boton a partir de una hora

Si se puede hacer desde php, es sencillo realiza el siguiente algoritmo dentro de tu boton

Código PHP:
Ver original
  1. <button <?php date('H')>=12 ? 'disabled="disabled"' : '' ?> >Mi boton</button>

Ten en cuenta que hora te interesa, la del servidor o la del cliente ... creo que mejor es la del servidor no?
  #6 (permalink)  
Antiguo 12/04/2013, 12:29
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 193
Antigüedad: 6 años, 4 meses
Puntos: 8
Respuesta: como bloquear un boton a partir de una hora

gracias por responder amigo he logrado una solución:
Código PHP:
Ver original
  1. function comprobar(){
  2. /* Desactivará el botón pasado las 12 del dia del sistema */
  3. $hora_cierre = 12;
  4. $hora = date("G");
  5. if ($hora_cierre <= $hora){
  6. echo "disabled";
  7. }
  8. }

y esto hiria en el html:
Código HTML:
Ver original
  1. <input type="button" id="boton" value="Ejemplo" onClick="alert('Has pulsado')" <? comprobar()?> >

Pero ahora me surgio otra duda:
¿Que pasaria si el usuario entra a las 11:59 a llenar el formulario, como puedo refrescar el boton sin refrescar la pagina y asi se deshabilite justo a las 12?

o quizas darle un mensaje al usuario que le queda 1 minuto para contestar?

Saludos
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #7 (permalink)  
Antiguo 12/04/2013, 12:41
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 8 años
Puntos: 180
Respuesta: como bloquear un boton a partir de una hora

Me ha gustado esa solución, se la curraron bastante.

Pues una de las razones por las cuales yo hablaba de usar javascript era por el problema de la hora (para que cogiera la hora del usuario y no la del servidor que generalmente nunca esta a la misma hora que el usuario asi que tendria que tener ese ligero inconveniente y adaptarlo)

Yo no me preocuparia mucho por la hora de 11:59. La verdad las probabilidades de que esto ocurran son muy pocas. Simplemente con que le pongas la hora del servidor (adaptado si es el caso sumando horas o restando para que sea la misma del usuario) y un pequeño aviso recordandole que solo tiene hasta las 12 para pulsar el boton. Es un simple aviso que puede estar todo el día y asi de paso los usuarios se acostumbran a no hacerlo a ultima hora.
__________________
Blog de humor http://elcuasatar.net63.net/
  #8 (permalink)  
Antiguo 12/04/2013, 12:45
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 6 años, 4 meses
Puntos: 2
Respuesta: como bloquear un boton a partir de una hora

yo haria que si el usuario presiono el boton despues de la hora indicada, hago una consulta Ajax y lo re dirigo devuelta a la pagina asi se refresca y el boton aparece deshabilitado
  #9 (permalink)  
Antiguo 12/04/2013, 12:50
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 8 años
Puntos: 180
Respuesta: como bloquear un boton a partir de una hora

Otra posible solución es que programaras el script para que se ejecutara a las 12 usando un cron y tal como te sugieron con ajax lo deshabilitaras. De esa manera de paso te evitas las peleas que tendrias con los que pulsaron el boton solo unos pocos segundos después.
__________________
Blog de humor http://elcuasatar.net63.net/
  #10 (permalink)  
Antiguo 12/04/2013, 12:56
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 193
Antigüedad: 6 años, 4 meses
Puntos: 8
Respuesta: como bloquear un boton a partir de una hora

hola Tienes razon que es inposible que suceda eso de las 11:59, pero aveces los usuarios....

lo que pasa es que estoy haciendo un sistema para reservar una cancha y las reservas solo se pueden hacer hasta las 12pm del mismo dia y si no se dasbilita el enlace de ese dia, pero me pongo en el caso que el usuario empiece a realizar el pedido antes de las 12 y por cualquier motivo deje botado el formulario despues de entrar o se demore mucho en rellenar las opciones nose.
La duda que tengo es que si se puede refrescar la pagina por debajo sin recargar toda la pagina?

Saludos
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #11 (permalink)  
Antiguo 13/04/2013, 08:19
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 2 meses
Puntos: 406
Respuesta: como bloquear un boton a partir de una hora

Evitate problemas verificando la hora en el archivo que va a procesar tu formulario, así no importa a que hora lo envie, siempre se verificará, ya que manualmente puedo volver activar el boton manipulando el DOM, así que tu solución es tan obsoleta como usar Javascript para bloquearlo en ese sentido...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #12 (permalink)  
Antiguo 13/04/2013, 10:20
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 8 años
Puntos: 180
Respuesta: como bloquear un boton a partir de una hora

Este tema aunque sencillo en teoría ha salido muy interesante. Nemutagk
me puso a pensar en esa opción y no la habia considerado.

Con css tambien existe una manera de engañar visualmente al usuario y hacerle creer que el boton no existe.

Código CSS:
Ver original
  1. #nombre-del-div{
  2. display: none;
  3. }

Si junto a la programación que ya tienes haces que despues de las doce el boton aparezca oculto al usuario creera visualmente que no existe. Cuando el usuario avanzado se de cuenta que lo puede modificar entra la verificación de la hora en el servidor y así sus intenciones quedan bloqueadas por completo.

En fin, que estas son ideas que se le ocurren a uno. Recoge lo mejor de todos los aportes y crea tu solución idonea.
__________________
Blog de humor http://elcuasatar.net63.net/
  #13 (permalink)  
Antiguo 15/04/2013, 06:45
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 193
Antigüedad: 6 años, 4 meses
Puntos: 8
Respuesta: como bloquear un boton a partir de una hora

gracias por las ideas a todos!
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #14 (permalink)  
Antiguo 15/04/2013, 10:43
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 7 años, 11 meses
Puntos: 793
Respuesta: como bloquear un boton a partir de una hora

Cita:
Iniciado por tquezada Ver Mensaje
¿Que pasaria si el usuario entra a las 11:59 a llenar el formulario, como puedo refrescar el boton sin refrescar la pagina y asi se deshabilite justo a las 12?
Valida esto en la página que lo procesa, si no es la hora correcta no realices la acción y redirecciona a alguna página de error o algo así.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #15 (permalink)  
Antiguo 16/04/2013, 07:54
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 11 años, 2 meses
Puntos: 31
Respuesta: como bloquear un boton a partir de una hora

No te compliques la vida, tienes que validar dos veces

Ya que lo quieres tener en una función te doy una solución mas fina

Código PHP:
function ComprobarHora()
{
  return date('H')>=12 ? true : false;
}

    <button <?php ComprobarHora() ? 'disabled="disabled"' '' ?> >Mi boton</button>
1- Con esto bloqueamos el botón
2- Supongamos que el usuario se quedo en la pantalla desde las 11:45, y cuando hizo click en el botón ya son las 12:30, entonces hacemos esto

Código PHP:
if(ComprobarHora()){
 
// Tu lógica cuando ya paso la hora limite
}else{
  
// Cuando aun es la hora que siga su flujo normal

Ahora si lo haces con ajax, postback depende de ti .. igual sea como sea ya lo tienes validado y lo puedes hacer con postback, o ajax

Si te das cuenta es la misma lógica del foro, cuando yo hago un nuevo post tengo la opción de editar, pero si alguien ya comento esa opción queda inactiva

Etiquetas: bloquear, boton, formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:46.