Jump to content


Photo

Rotina De Dia E Horário


  • Faça o login para participar
6 replies to this topic

#1 MkA

MkA

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro

Posted 26/10/2008, 13:55

Oi, sou novo aqui e estou com um probleminha...

escrevi um programinha, onde (era) pra ele testar o dia e a hora, e mostrar uma mensagem, a intenção é, se for segunda feira, a loja não abre, ele mostra que está fechado pois é segunda-feira, nos outros dias da semana, ele mostra se está aberto ou fechado, dependendo da hora. segue o script que fiz com erro:

[codebox]
<?php

/* HORA DO SERVIDOR */
$today = getdate();
$hour = $today['hours'];
$weekday = $today['l'];

/* TESTE DA HORA*/
if ($weekday = 'Mon') $mostra = "Fechado, hoje e segunda-feira";
if ($hour >= 0 && $hour < 16) $mostra = "Fechado, nao e segunda-feira";
if ($hour >= 17 && $hour < 23) $mostra = "Aberto pela hora, nao e segunda-feira";

echo "$mostra";

?>[/codebox]

Edição feita por: Dudu, 02/11/2008, 12:08.
Coloque códigos nas TAGS [codebox][/codebox]

Limitações são criadas apenas pela nossa mente.

#2 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 26/10/2008, 19:03

Só faltou dizer qual é o erro :)

#3 MkA

MkA

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro

Posted 26/10/2008, 21:35

yeah, yeah, mal aew..... ele não identifica o dia, se eu deixar o teste da segunda feira, ele só me mostra como se fosse segunda feira, pode ser qualquer dia..... se eu tiro, ele funciona legal o do horario..... mas eu precisava com o dia.....

testa ai pra você entender melhor, acho que não consegui explicar direito..... hehe

Edição feita por: MkA, 26/10/2008, 21:35.

Limitações são criadas apenas pela nossa mente.

#4 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 27/10/2008, 07:57

Você confundiu duas funções :D
Com getdate() você usa 'weekday' para pegar o dia da semana...
vi que você está usando 'l', que é do comando date() (y)
Vê se resolve aí

#5 MkA

MkA

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro

Posted 27/10/2008, 14:11

seria então:
[codebox]<?php

/* HORA DO SERVIDOR */
$today = getdate();
$hour = $today['hours'];
$weekday = $today['weekday'];

/* TESTE DA HORA*/
if ($weekday = Monday) $mostra = "Fechado, hoje e segunda-feira";
if ($hour >= 0 && $hour < 16) $mostra = "Fechado, nao e segunda-feira";
if ($hour >= 17 && $hour < 23) $mostra = "Aberto pela hora, nao e segunda-feira";

echo "$mostra";

?>
[/codebox]
seria isso? porque se for, num rolou.....

Edição feita por: Dudu, 02/11/2008, 12:09.
Coloque códigos nas TAGS [codebox][/codebox]

Limitações são criadas apenas pela nossa mente.

#6 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 02/11/2008, 01:25

O melhor seria usar um if e else, não apenas ifs. Pode ser que duas comparações retornem true, aí uma anula a outra.

Por falar em comparações, o operador de comparação que você deve usar é == (dois iguais), no primeiro if. Também no primeiro if, Monday é uma string, então aspas nele.
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#7 MkA

MkA

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro

Posted 05/11/2008, 16:41

Resolvido! Obrigado Alex. Caso alguém precise de um código parecido, aqui está a solução:

[codebox]<?php

/* HORA DO SERVIDOR */
$today = getdate();
$hour = $today['hours'];
$weekday = $today['weekday'];

/* TESTE DA HORA*/
if ($weekday == "Monday") $mostra = "Fechado, hoje e segunda-feira";
elseif ($hour >= 0 && $hour < 16) $mostra = "Fechado, nao e segunda-feira";
elseif ($hour >= 17 && $hour < 23) $mostra = "Aberto pela hora, nao e segunda-feira";

echo "$mostra";

?>[/codebox]
Limitações são criadas apenas pela nossa mente.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq