Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

erro muito sinistro

28-06-2007 19:23

tenho um script que apresenta um erro que nao consigo testar, ele pega a data enviada pelo URL e quebra o mês, ai usa um condicional para exibir o mês da forma desejada.

<? $data="2007-12-01"; $mes = substr($data,5,2); $ano = substr($_GET["inicio"],0,4); if($mes==01){ $mes="Janeiro"; }elseif($mes==02){ $mes="Fevereiro"; }elseif($mes==03){ $mes="Março"; }elseif($mes==04){ $mes="Abril"; }elseif($mes==05){ $mes="Maio"; }elseif($mes==06){ $mes="Junho"; }elseif($mes==07){ $mes="Julho"; }elseif($mes==08){ $mes="Agosto"; }elseif($mes==09){ $mes="Setembro"; }elseif($mes==10){ $mes="Outubro"; }elseif($mes==11){ $mes="Novembro"; }elseif($mes==12){ $mes="Dezembro"; }else{ echo "Selecione o mês"; } echo "<p align='center'><b><font color='#008000' size='4' face='Tahoma'> Eventos de $mes de $ano </font></b><font size='2' face='Tahoma'> <p align='left'> <br>"; ?>

mas faz um teste não informando a $data
$data="";
ele vai exibir
EVENTOS DE AGOSTO DE
mas pq agosto?

e troque a data por algo tipo
$data="2007-09-01";
ai ele exibe a msg SELECIONE O MES,
tente com o mes
$data="2007-08-01";
o mesmo erro acontece, enfim, ja revisei todo o scrip, pq tem erro no mes 08 e 09 ??
se eu trocar o 08 e 09 por qualquer outra coisa, ai funciona, mas qdo for estas datas nao serão encontradas.

pq o script ta insistindo no 08 e na sequencia 09 ??
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17586
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

erro muito sinistro

28-06-2007 21:22

Esse erro ai é porque no if, elseif e else os meses de 1 a 9 estão com 0, tenta tirar o 0.

Veja o exemplo que montei, usei explode e switch.
<?php $data="2007-12-01"; $nova_data = explode("-", $data); $mes = $nova_data[1]; $ano = $nova_data[0]; switch($mes) { case 1: $mes = "Janeiro"; break; case 2: $mes = "Fevereiro"; break; case 3: $mes = "Março"; break; case 4: $mes = "Abril"; break; case 5: $mes = "Maio"; break; case 6: $mes = "Junho"; break; case 7: $mes = "Julho"; break; case 8: $mes = "Agosto"; break; case 9: $mes = "Setembro"; break; case 10: $mes = "Outubro"; break; case 11: $mes = "Novembro"; break; case 12: $mes = "Dezembro"; break; default: $mes = "Selecione o mês"; break; } echo "<p align='center'><b><font color='#008000' size='4' face='Tahoma'> Eventos de ".$mes." de ".$ano." </font></b><font size='2' face='Tahoma'> <p align='left'> <br>"; ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

erro muito sinistro

29-06-2007 08:15

oi web, tbm pensei que podia ser, mas descartei esta idéia pq nos outros meses funciona, só da erro no 08 e 09, nos outros é tudo certo.

e ele esta pegando o mes quebrando a data, pegando os dois digitos do mês. 01,02,03... então ele pega o zero (qdo tem).

será que existe algum limite ou algum erro de loop alguma coisa sei lá, que possa ter no elseif?? achei bem estranho isto
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17586
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

erro muito sinistro

29-06-2007 08:22

Pode ser algum bug do PHP quanto ao 0 antes de um número, no caso, testei sem o 0 quando o mês for de 01 a 09 e funcionou OK.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

erro muito sinistro

29-06-2007 08:34

é tem algum bug alí, uma solução foi limitar os valores entre aspas,

if($mes=="01"){
$mes="Janeiro";
}elseif($mes=="02"){
$mes="Fevereiro";
}elseif($mes=="03"){
$mes="Março";
}elseif($mes=="04"){
$mes="Abril";
}elseif($mes=="05"){
$mes="Maio";
}elseif($mes=="06"){
$mes="Junho";
}elseif($mes=="07"){
$mes="Julho";
}elseif($mes=="08"){
$mes="Agosto";
}elseif($mes=="09"){
$mes="Setembro";
}elseif($mes=="10"){
$mes="Outubro";
}elseif($mes=="11"){
$mes="Novembro";
}elseif($mes=="12"){
$mes="Dezembro";
}else{
echo "Selecione o mês";
}

aí funciona legal, realmente, antes devia ter algum conflito ou bug, alguma coisa que ele não interpretava perfeitamente.
Agora funciona legal, valeu
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17586
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

erro muito sinistro

29-06-2007 08:36

¨heh¨
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado