Logo Hardware.com.br
NookiE
NookiE Super Participante Registrado
648 Mensagens 0 Curtidas

verificar hora em php.

#1 Por NookiE 11/06/2006 - 15:54
ola... esto com um problema de como verificar uma hora em php
tipow.. é um cadastro de noticias... o usuario tem a opçao de deixar a hora atual (do windows)... ou modificar

pra naum ficar mexendo na parte principal... criei um outro formulario outro bd de teste, somente com um campo para alterar a hora


<?php
$hora=date("H:i:s&quot;

echo "<INPUT TYPE='text' NAME='hora' size='50' maxlength='30' value='$hora'>";
echo "<INPUT TYPE='submit' value='CADASTRAR'>";

?>


e pra salvar a hora.. codigo esta assim


<?php
$hora=$_REQUEST["hora"];

$conexao=mysql_connect("127.0.0.1","","&quot;

$bd=mysql_select_db("teste&quot;

$sql="INSERT INTO testehora (hora) VALUES ('$hora')";

$comando=mysql_query($sql,$conexao);
if(!$comando) {
echo "erro na gravacao";}
else{
echo " incluido com sucesso<BR><BR>";
echo " hora= $hora<br>";
}
?>


porem... se ele modificar e digitar uma hora qualquer.. ela cadastra normalmente
como poderia fazer para verificar a hora q ele digitou?
obrigado.
Responder
peczenyj
peczenyj Geek Registrado
3K Mensagens 75 Curtidas
#4 Por peczenyj
11/06/2006 - 19:31
ah vc quer validar o formato da hora.

muito bem, acho que ai vc poderia fazer um javascript ;-)

http://validacaodeformularioporjavascript-muitobom.scriptfacil.com/?arquivo=x&m=1553

adaptei para procurar pela expressão regular que representa uma hora

entendendo um pouco

([01]\d|2[0-3]):[0-5]\d:[0-5]\d

\d signfica qualquer numero
[01]\d casa com 00-09, 10-19 horas
2[0-3] casa com 20 21 22 23

([01]\d|2[0-3]) casa com 00 ate 23 , casa com uma expressão OU com outra (exp_1|exp_2)

[0-5]\d casa com 00 ate 59

assim (note os ':' literais)

([01]\d|2[0-3]):[0-5]\d:[0-5]\d

casa com 00:00:00 ate 23:59:59

veja o resultado

<HTML>
<HEAD>

</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#800000" ALINK="#FF00FF" BACKGROUND="?">
<SCRIPT LANGUAGE='JavaScript'>
<!-- shields up!

function enviardados(){

padrao = /([01]\d|2[0-3]):[0-5]\d:[0-5]\d/
OK = padrao.exec(document.dados.hora.value)
if(!OK){
alert("hora errada!&quot
document.dados.hora.focus()
return false;
}
return true;
}

// down shields! -->
</SCRIPT>

<form action="pagina de ação" method="post" name="dados" onSubmit="return enviardados();" >
<INPUT TYPE='text' NAME='hora' size='8' maxlength='8' value='<?php echo date("H:i:s&quot; ?>'></BR>
<INPUT TYPE='submit' value='CADASTRAR'>
</FORM>
</BODY>
</HTML>
NookiE
NookiE Super Participante Registrado
648 Mensagens 0 Curtidas
#5 Por NookiE
11/06/2006 - 22:27
peczenyj
ah vc quer validar o formato da hora.

muito bem, acho que ai vc poderia fazer um javascript ;-)

http://validaca...



putz.... PERFECT hein

naum kerendo abusar de sua bondade... mas....... teria como tirar os segundos?
deixar mostrando no input por exemplo 15:30
e na hora de modificar a hora colocar somente hora e minuto..... sem o segundo?
loading...
ticreca
ticreca Novo Membro Registrado
5 Mensagens 0 Curtidas
#8 Por ticreca
13/05/2008 - 14:55
olá...
tenho ki fzr uma validação de horários....

ese seu código é mtooo bom...

soh ki o problema eh ki a validação que eu tenho ki fzr eh entre 3 horarios diferentes...

00:00:00 ate 07:59:59
08:00:00 ate 17:59:59
18:00:00 ate 23:59:59

gostaria de saber se é possível mudar o código para fzr essa validação...
pensei ki talvez eu tivesse ki criar 3 funcoes diferentes e as chamasse nos campos text...soh que eu naum entendi mmto bem essa parte do codigo.. alguem poderia mi ajudar?!?!?!?!?!


padrao = /([01]\d|2[0-3]):[0-5]\d:[0-5]\d/
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal