Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jorge Sandim

[Resolvido] desabilitar textarea de acordo com a hora do sistema

Recommended Posts

bom dia!

preciso de uma ajuda, pois estou desenvolvendo um sistema onde o usuário grava algumas informações num textarea, porém este textarea deverá estar habilitado apos uma determinada hora(obtida com php).

eis a pergunta: como fazer isso?

desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php $hour = (int)strftime('%H');//hora em padrão 24H (00 até 23) ?>
<textarea name="lalala" <?php echo ($hour >= 3 && $hour <= 7) ? 'disabled="disabled"' : null; ?> >teste teste teste</textarea>

 

Entre 3h e 7h, o textarea é bloqueado através do parâmetro disabled="disabled".

 

Isso não impede de o usuário manter o navegador aberto e enviar o formulário num horário não permitido. Se isso implica numa falha de segurança, deve-se fazer uma verificação no momento do tratamento dos dados vindos do formulário.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu matheus!!!

eu sou iniciante no php e precisaria que o textarea ficasse habilitado nos seguintes horários: das 06:00 as 07:00 , das 14:00 as 15:00 , e das 22:00 as 23:00.

para fazer isso é so colocar as condições como você explicou ( $hour <= etc...)?

Desde já agradeço a atenção do amigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
define ( 'HOUR', (int)strftime('%H') );

function between ($min, $max, $value = NULL) {
$value = is_null($value) ? HOUR : (int)$value;
return ($value >= (int)$min && $value <= (int)$max);
}
?>
<textarea
name="lalala"
<?php
if
(
		( between (6, 7) )
	||	( between (14, 15) )
	||	( between (22, 23) )
):
	echo 'disabled="disabled"';
endif;
?>
rows="8"
cols="50"
>teste teste teste</textarea>

 

No caso de haver 3 condições de horários, resolvi criar uma função para facilitar o trabalho das condições.

Daria para fazer com arrays, daí ficaria somente uma condição... mas assim já está bom para o seu caso.

 

Veja se ficou alguma dúvida, e poste.

 

[]'s

 

EDIT:

 

Na verdade, com o between, vai pegar as duas horas enviadas pelo parâmetro. Você inseriu 6 horas diferentes no post, e eu fiquei com elas na cabeça, quando na verdade seria das 06 às 06:59, 14 às 14:59, etc. Seguindo essa lógica, fica mais simples:

 

<?php $hour = (int)strftime('%H'); ?>
<textarea
name="lalala"
<?php
if ($hour == 6 || $hour == 14 || $hour == 22 ):
	echo 'disabled="disabled"';
endif;
?>
rows="8"
cols="50"
>teste teste teste</textarea>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu mestre!!!

Já vou testar aki no meu pc, mas amtes de mais nada, muitíssimo obrigado pela ajuda.

com o resto eu me viro (eu acho.kkk)e para atualizar a página onde vai a função posso usar javascript ou atualizar nas próprias meta-tags né!?!

Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

É pra funcionar no IE sim...

Poste como está seu código, e o trecho do código-fonte gerado, para que possamos analisar o que pode estar acontecendo.

------------------------------------------------

Vou submeter o mesmo a um novo teste no IE hoje a noite, e se continuar o bug, reporto a você

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Matheus..

antes de mais nada gostaria de agradecer a ajuda que você me deu,mas como ví que vcs aí do Imasters mandam muito no php resolvi postar uma dúvida maior ainda do que simples implementação de código.

um amigo, que está acompanhando este sistema que estou desenvolvendo, orientou-me migrar minha aplicação para um framework, no caso, o Cakephp, pois agilizaria o processo de desenvolvimento, otimizaria a estrutura da aplicação e iria garantir niveis de segurança mais apurados, entre outras coisas.peço a opinião dos colegas, vale a pena(é possível?) migrar um sistema que já está em desenvolvimento(aprox +50% pronto), para uma ferramenta que não domino?

tenho algum conhecimento em OO, ja desenvolvi algumas coisas com CMs Joomla, mas frameworks nunca usei apesar de já ter ouvido falar, o próprio Cake, o Zend, entre outros...

Espero um "aconselhamento" dos amigos aí do Imasters

Abração

OBS: em tempo, o código para desabilitar o textarea funcionou sim no ie, o erro era aquela peçinh que fica entre a cadeira e o teclado(eu).

Brigadão

Compartilhar este post


Link para o post
Compartilhar em outros sites
vale a pena(é possível?) migrar um sistema que já está em desenvolvimento(aprox +50% pronto), para uma ferramenta que não domino?

Essa é uma questão extremamente pessoal. Eu, particularmente, gosto do CakePHP e acho muito tranquilo desenvolver apps para ele, justamente por causa da ampla documentação e tutoriais rede à fora.

Por outro lado, temos o problema do tempo. O fato de você já ter programado boa parte do sistema não tem tanto problema, mas sim se você precisa cumprir prazos, etc. Querendo ou não, no início não será 1000 maravilhas. Programar numa framework é como conhecer outra linguagem: cada uma possui seus métodos diferentes para realizar tarefas diferentes. E é por isso que a documentação, no momento da escolha de uso, é um fator importante.

 

Minha recomendação:

- O projeto é seu? Você tem tempo e disposição? :seta: Guarde-o, instale o cake, e crie uma aplicação nova seguindo o que você precisa.

- O projeto tem pressa? Você considera o fato de aprender algo "novo" nesse momento um fator negativo? :seta: Prossiga com seu projeto e estude o cake ou outro FW posteriormente.

 

Marcarei o tópico como resolvido, pois sua dúvida foi sanada. Caso continue com dúvidas referente ao framework, faça uma pesquisa em nosso fórum, pois temos muito conteúdo a respeito disso, e/ou crie um tópico novo dedicado à ela(s).

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.