• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

joninho

Boas vindas consoante as horas..

16 mensagens neste tópico

Bem, o meu servidor é inter por isso as horas sao difrentes e para ficarem direitas tenho de fazer a alteração...

o que eu queria fazer era consoante as horas dizia bom dia, boa tarde etc..

eu fix isto:

<?php
echo $boas.$_SESSION['user']."<br>";
		$now = time()+3600*6;
		echo $now;
			if ($now > 5 and $now <13){
				$boas = "Bom dia Sr(a) ";
			}elseif($now > 13 and $now <18){
				$boas = "Boa tarde Sr(a) ";
			}else{
				$boas = "Boa noite Sr(a) ";
			}
?>

mas nao me da nada pk as horas sao deste formato: 1146626454 :\ nao me agrada :S como é que difrencio 5 da manha 1 da tarde etc..?

Cumps... [glow=red,2,300]Joninho[/glow]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usa a função date() e os seus vários formatos. Consulta o manual ou a internet.

Para coisas do género e para não estar dependente das horas do servidor devias usar Javascript.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois... o ideal para isso não seria o PHP mas sim o Javascript, visto que assim não fazias diferença entre um user que está na China ou um user que está em França por exemplo :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

com o Javascript ficavas apenas com a hora do cliente, e ele não quer isso penso eu...

para a hora no formato HH:MM:SS ->

<?php echo date("H:i:s"); ?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

AriOps não é bem isso, se vires bem ele quer as horas do cliente para dizer as horas ao cliente consoante as horas dele... não faz sentido um user nos USA tar a ter uma boa noite quando lá é tarde :D

joninho:

<script type="text/javascript">
var hoje = new Date();
var horas = hoje.getHours();
if (horas > 20 && horas < 7) { alert("Boa noite!"); }
if (horas > 6 && horas < 13) { alert("Bom dia!"); }
if (horas > 12 && horas < 21) { alert("Boa tarde!"); }
</script>

O que queres é isto :) mete isto dentro do head :D

Deste modo ele vai ler as horas do cliente e escolher qual das opções é :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim mas vou-te dar o meu exemplo, eu tenho o relógio do pc todo desregulado (por exemplo agora aqui são 9:54) por causa do UPS e da Pilha de Lítio. Qualquer utilizador pode ter o relógio do SO incorrecto, por isso prefiro a hora do server...

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, mas um caso não são casos :D No teu caso é normal que queiras a hora do server :) O que se podia fazer era detectar se os minutos entre o server e o client variam muito. Se sim sabe-se à partida que as horas do server estão bem e as do client mal, logo faz-se o output das horas do server.

Se fossem parecidas fazia-se o output das horas do client :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu concordo com o quickfire... acho que faz todo o sentido dizer as horas do cliente...

tipo... para o utilizador para que interessa a hora do servidor onde o site está alojado?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se eu nao quiser um alert como fasso? ponho print.document?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol, tava lá perto :D tenho de estudar java script eh mt util...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Juntar javascript com PHP dá óptimos resultados.

Tenho estado empenhado nisso e estou a gostar.

Como já disseram em cima o javascript é o melhor para as horas, sem dúvidas...

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E parecendo que não é bastante fácil :)

Um exemplo simples é o que vou mostrar a seguir:

<script type="text/javascript">
var hoje = new Date();
var php_minutos = "<?php echo date("i"); ?>";
var minutos = hoje.getMinutes();

var dif = php_minutos - minutos;
alert("Diferença de "+dif+" minutos");
if (dif > 5 && dif > -5) {
alert("Logo, hora pelo servidor");
var horas = "<?php echo date("H"); ?>";
}
else {
alert("Logo, hora pelo cliente");
var horas = hoje.getHours();
}
if (horas > 20 && horas < 7) { document.write("Boa noite!"); }
if (horas > 6 && horas < 13) { document.write("Bom dia!"); }
if (horas > 12 && horas < 21) { document.write("Boa tarde!"); }
</script>

Podem fazer as experiencias aqui, mudando as horas do vosso pc e verem o resultado :D

http://www.quickfire.info/teste.php

Um exemplo mais sonante é ajax :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Embora eu tenha dito para usar Javascript... Javascript SUCKS! LOL

Só serve mesmo para coisas simples tipo validação de formulários e coisas relacionadas com horas, porque resto é uma trampa... depende do browser, depende da versão do browser, e depende que o utilizador tenha o Javascript activado... senão bai bai...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Claro que não podes exigir muito do Javascript, mas é uma coisa bem poderosa para se usar...

E quando combinada dá coisas bastante porreiras como o Ajax e derivados ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora