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"
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","",""
$bd=mysql_select_db("teste"
$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.
- Home
- >
- Fórum
- >
- Profissional
- >
- Programação, Sc...
- >
- verificar hora em php.
mas vc quer fazer que tipo de verificação?
peczenyjmas vc quer fazer que tipo de verificação?
tipow... naum poder digitar digamos
25:10
15:65
entende?
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!"
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" ?>'></BR>
<INPUT TYPE='submit' value='CADASTRAR'>
</FORM>
</BODY>
</HTML>
peczenyjah 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?
Troca isso:
padrao = /([01]\d|2[0-3]):[0-5]\d:[0-5]\d/
<?php echo date("H:i:s" ?>
por isso:
padrao = /([01]\d|2[0-3]):[0-5]\d/
<?php echo date("H:i" ?>
certo?
Assim, subtrai 2 do size e maxlength !
peczenyjTroca isso:
[code]padrao = /([01]\d|2[0-3]):[0-5]\d:[0-5]\d/
<...
to no trampo agora... mas assim q xegar eu faço isso
mto obrigado!!!
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/