Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Função em PHP não retorna valor


Cláudio Souza

Question

Olá, bom dia.

Eu comecei a estudar PHP há menos de tres semanas e me deparei com um problema que não consigo resolver.

Eu entro com os valores da função, "tudo direitinho" mas no final o sistema me retorna uma página em branco onde deveria retornar a hora e, no futuro, uma saudação para cada horário que o usuário chega no site.

Infelizmente não obtive sucesso na tentativa de esclarecer isso e peço, por favor, que alguém me elucide o caso.

Não gostaria de receber o código pronto e, sim, a linha de raciocínio para resolver o problema.

O código segue abaixo:

#################################################################################

<?php

class obterHorario

{

public $horaChegada;

private function hora_atual()

{

#inicializa com a hora atual

$this->hora_atual = date("H:i");

#Estabelece um parâmentro para comparações no switch

$horaChegada = date("H:i");

switch (date("H:i"))

{

case "01": $horaChegada = hora_atual; break;

case "02": $horaChegada = hora_atual; break;

case "03": $horaChegada = hora_atual; break;

case "04": $horaChegada = hora_atual; break;

case "05": $horaChegada = hora_atual; break;

case "06": $horaChegada = hora_atual; break;

case "01": $horaChegada = hora_atual; break;

case "08": $horaChegada = hora_atual; break;

case "09": $horaChegada = hora_atual; break;

case "10": $horaChegada = hora_atual; break;

case "11": $horaChegada = hora_atual; break;

case "12": $horaChegada = hora_atual; break;

case "13": $horaChegada = hora_atual; break;

case "14": $horaChegada = hora_atual; break;

case "15": $horaChegada = hora_atual; break;

case "16": $horaChegada = hora_atual; break;

case "17": $horaChegada = hora_atual; break;

case "18": $horaChegada = hora_atual; break;

case "19": $horaChegada = hora_atual; break;

case "20": $horaChegada = hora_atual; break;

case "21": $horaChegada = hora_atual; break;

case "22": $horaChegada = hora_atual; break;

case "23": $horaChegada = hora_atual; break;

case "00": $horaChegada = hora_atual; break;

}

#echo $horaChegada; Este teste mostrou a hora, quando o switch é executado fora da função

return $this->horaChegada;

}

function exibeHoraChegada()

{

echo "<center>";

echo $this->horaChegada() ."</b><p>";

echo "</center><p>";

$horaChegada = new obterHorario;

// Escreve na tela

$horaChegada->exibeHoraChegada();

}

}

?>

########################################################################

Desde já obrigado pela ajuda

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Eu resolvi.

Havia erros na lógica.

MAs resolvi com if e não com switch

<?php
#$hora = date("H:i");

#echo $hora; este echo foi um teste

/*echo "<center>"; 
echo "**************************** $var_br1";
echo " Criado por <a href='mailto:cau@soropositivo.org'>Cláudio Souza</a>$var_br1"; 
echo "    Verão de 2012            $var_br1";
echo "  Curso de PHP Avançado Treina WEB";
echo "**************************** $var_br1";
echo "</center>";*/ 




echo "<center>";

/* define as constantes que serão usadas neste aplicativo, que tem por escopo comunicar-se com o usuário
tentando respeitar a hora em que ele chega ao site, passando uma mensagem de otimismo. No futuro, este será um sistema bem mais complexo, com frases para cada hora e para cada dia do ano*/
# uma da manhã
define ("UMA"         , "Não consinta que suas virtudes se façam fogo no tormento dos caídos;  e nem que sua honestidade se faça gelo no coração...");
#duas da manha
define ("DUAS"        , "A cada um Segundo as Suas Obras.");
#tres da manha
define ("TRES"        , "A compaixão mostra o caminho da caridade e, sem carida de uns para com os outros, não há segurança para ninguém.");
#quatro da manha
define ("QUATRO"      , "Você não pode fazer um novo começo, mas pode criar um novo fim!");
#cinco da manha
define ("CINCO"       , "Perdoa, Senhor, aqueles que tresmalharam na insânia ou no infortunio em nome de um amor que jamais chegaram a conhecer!");
#seis da manha
define ("SEIS"        , "Medita na indústria endinheirada do lenocínio: Há quem as promova...");
#sete da manha
define ("SETE"        , "Humildade, na hora da Crise, é nota de quitação.");
#oito da manha
define ("OITO"        , "Busca e acharás."); 
#nove da manha
define ("NOVE"        , "Encontramos o que buscamos, porque merecemos o que procuramos...");
#dez horas da manha
define ("DEZ"         , "O Universo nos dá daquilo que damos a Ele.");
#onze horas           
define ("ONZE"        , "Persevera no bem, com a certeza de que viverás para sempre!");
#meio dia
define ("MEIODIA"     , "O Criador não quer escravos na Criação");
#treze horas
define ("TREZE"       , "O Amor de Deus acende as estrelas, para além das trevas, e desabotoa rosas, por entre espinhos.");
#quatorte horas
define ("QUATORZE"    , "Chispa de fogo Gera incêndio. Leve alfinetada prepara a infecção. Humildade é caminho, entendimento é remédio e perdão é profilaxia.");
#quinze horas
define ("QUINZE"      , "O Céu começa sempre em nós mesmos, e o inferno tem o tamanho da rebeldia de cada um.");
#dezesseis horas
define ("DEZESSEIS"   , "Oferece um sorriso de simpatia e bondade, seja a quem for.");
#dezessete horas
define ("DEZESSETE"   , "Onde não possas fazer todo o bem que desejas realizar, Deus fará sempre a parte mais importante!");
#dezoito horas
define ("DEZOITO"     , "A prece é silêncio que inspira.");
#dezenove horas
define ("DEZENOVE"    , "Conhecereis a verdade e a verdade, afinal, vos fará livres.");
#vinte horas
define ("VINTE"       , "Ninguém consegue realmente ser grande, quando não aprendeu a ser pequenino.");
#vinte e uma
define ("VINTEEUMA"   , "Tarefa adiada é luta maior, e toda atitude negativa, hoje, será juro de mora no mal de amanhã.");
#vinte e duas
define ("VINTEEDUAS"  , "retifiquemos a estrada, corrigindo a nós mesmos.");
#vinte e tres
define ("VINTEETRES"  , "O Criador não vive fora da Criação.");   
#zero horas
define ("LIRIOS"      , "Olhai os lírios do Campo! Eles não fiam nem tecem...");

#sempre - aparece em qualquer horário. 
define ("EPOSSIVEL"   , " <marquee bgcolor='#00FF33' align='middle' behavior='scroll' width='300px' >Não sei se é este o seu caso, mas viver com AIDS é perfeitamente possível, eu vivo com ela há 17 anos, e estou bem!...</marquee> <br /> <font color='#FF0000'> <a href='http://www.soropositivo.org/soropositivoorg-shopping'>Shopping Soropositivo.Org</a>: <br /> Onde sua compra ajuda na luta contra a AIDS! <br />Mesmo que você não pretenda comprar nada agora, visite este <a href='http://www.soropositivo.org/soropositivoorg-shopping'>endereço</a> e adicione-o aos favoritos. <br /> Sua colaboração é muito importante<br />Se você clicar em comprar, será redirecionado para o Mercado Livre, isso é normal!</font>");


    class obterHorario
        {
            public $horaChegada;
            public function getHoraServidor()
            {
            $hora = date("H:i");
    /*Rotina de comparações que avalia cada uma das 24 horas do dia imnprimindo uma determinada frase para cada uma destas horas do dia, com else if para as condições variadas desta rotina.
imagino que haja uma maneira mais simples de se fazer isso, para quem tem mais noções de PHP, mas é o que eu pude fazer com o que aprendi*/ 

#se uma da manha
{
if ( $hora == 1){
$this->horaChegada = "Olá, boa madrugada! São " . $hora . "<br />" . UMA ."<br />" . EPOSSIVEL;

}

#se duas da manha

else if ( $hora == 2){
$this->horaChegada = "Olá, boa madrugada! São " .$hora . "<br />" .DUAS ."<br />" . EPOSSIVEL;
}

#se tres da manha

else if ( $hora == 3){
$this->horaChegada ="Olá! Você não dorme não? São " . $hora ."<br />" . TRES ."<br />" . EPOSSIVEL;
}

#se quatro da manha

else if ($hora == 4){
$this->horaChegada = "Olá! Eu fico feliz que você esteja aqui, mas... mas  são " . $hora ."<br />" . QUATRO ."<br />" . EPOSSIVEL;
}

#se cinco da manha

else if ($hora == 5){

$this->horaChegada = "Olá! Eu fico feliz que você esteja aqui, mas... mas  são " . $hora ."<br />" . CINCO ."<br />" . EPOSSIVEL;
}

#se seis da manha
else if ($hora == 6){
$this->horaChegada = "Galo cantô, seis horas da manhã... Bem vinda(o) São" . $hora . SEIS . "<br />" . EPOSSIVEL;
}

#se sete da manha

else if ( $hora == 7){
$this->horaChegada = "Olá! Bom dia! Seja bem vindo(a) " . $hora ."<br />" . SETE ."<br />" . EPOSSIVEL;
}

#se oito da manha

else if ( $hora == 8){
$this->horaChegada = "Olá! Bom dia! Seja bem vindo(a) " . $hora ."<br />" . OITO ."<br />" . EPOSSIVEL;
}

#se nove da manha

else if ( $hora == 9){
$this->horaChegada = "Olá! Bom dia! Seja bem vindo(a) " . $hora ."<br />" . NOVE ."<br />" . EPOSSIVEL;
}

#se dez da manha

else if ( $hora == 10){
$this->horaChegada = "Olá! Bom dia! Seja bem vindo(a) " . $hora ."<br />" . DEZ ."<br />" . EPOSSIVEL;
}

#se onze da manha

else if ( $hora == 11){
$this->horaChegada = $hora . ONZE ."<br />" . EPOSSIVEL;}

#se meio dia
else if ( $hora == 12){
$this->horaChegada = $hora . DOZE ."<br />" . EPOSSIVEL;
}

#se treze horas

else if ( $hora == 13){
$this->horaChegada = $hora . TREZE ."<br />" . EPOSSIVEL;
}

#se quatorze horas

else if ( $hora == 14){
$this->horaChegada = "Olá, bem vindo(a)! Você chegou aqui as " .$hora ."<br />" . QUATORZE ."<br />" . EPOSSIVEL;
}

#se quinze horas

else if ($hora == 15){
$this->horaChegada = $hora . QUINZE ."<br />" . EPOSSIVEL;
}

#se dezesseis horas

else if ( $hora == 16){
$this->horaChegada = $hora . DEZESSEIS ."<br />" . EPOSSIVEL;
}

#se dezessete horas

else if ( $hora == 17){
$this->horaChegada = $hora . DEZESSETE ."<br />" . EPOSSIVEL;
}

#se dezoito horas

else if ( $hora == 18){
$this->horaChegada = $hora . DEZOITO ."<br />" . EPOSSIVEL;
}

#se dezenove horas

else if ( $hora == 19){
$this->horaChegada = "Olá, boa noite! São" . $hora . "<br /> " . DEZENOVE;
}

#se vinte Horas

else if ( $hora == 20){
$this->horaChegada = $hora . VINTE ."<br />" . EPOSSIVEL;
}

#se vinte e uma horas

else if ( $var_mes ==21 && $hora == 21){
$this->horaChegada = $hora . VINTEEUMA ."<br />" . EPOSSIVEL;
}

#se vinte e duas horas

else if ( $hora == 22){
$this->horaChegada = $hora . VINTEEDUAS ."<br />" . EPOSSIVEL;
}
#se vinte e tres horas

else if ( $hora == 23){
$this->horaChegada = $hora . VINTEETRES ."<br />" . EPOSSIVEL;
}

# para a meia noite

else if ( $hora == 23){
$this->horaChegada = $hora . NOVE ."<br />" . EPOSSIVEL;
}        
}        return $this->horaChegada;
}
 function exibeHoraChegada()
  {
    echo "<center>";
    echo $this->getHoraServidor() ."</b><p>";
    echo "</center><p>";
  }
        }
        $horaChegada = new obterHorario;
        $horaChegada->intro = "Agora são";
// Escreve na tela
        $horaChegada->exibeHoraChegada();
    
?>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...