Kher 2 Denunciar post Postado Janeiro 15, 2012 Estou fazendo um curso em vídeo aula de PHP e estou encontrando erros durante a execução. Suponho que por ser de 2007 o curso, algumas notações devem ter modificado. Para execução estou usando o easyphp 5.3.8.1 e o IE 9 ou Chrome. O código abaixo o autor está ensinando como criar um array para usar nomes em português para a função date que retorna resultados em inglês, e por exemplo, encontro o seguinte erro: Notice: Use of undefined constant w - assumed 'w' in C:\EasyPHP-5.3.8.1\www\curso_php\date_br.php on line 46 dia da semana: dia da semana: O código: <body> <?php $dia_da_semana = array("Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"); $diaSem=date(w); $dia_extenso = $dia_da_semana[$diaSem]; ?> dia da semana: <?=date(w)?><br> dia da semana: <?=$dia_extenso?> </body> Toda vez que utilizo essa notação simplificada do PHP acontece alguns erros, o código dia da semana: <?=date(w)?><br> me retorna o "dia da semana" em branco, não chega a dar erro mas também não mostra resultado algum, como acontece para o instrutor do curso. Alguém pode me dar alguma orientação nesse caso? Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Janeiro 15, 2012 Isso são short tags. Para abilitar, vá no php.ini e mude para short_open_tag = On O correto é você usar a forma longa da tag de abertura do PHP (<?php ?>). <?php echo $dia_extenso; ?> Aproveitando... Uma maneira diferente de fazer o que você quer <?php setlocale( LC_ALL, 'pt_BR', 'pt_BR.iso-8859-1', 'pt_BR.utf-8', 'portuguese' ); date_default_timezone_set( 'America/Sao_Paulo' ); echo strftime( '%A, %d de %B de %Y', strtotime( date( 'Y-m-d' ) ) ); ?> Saída domingo, 15 de janeiro de 2012 Tenha sempre em mãos o Manual do PHP Compartilhar este post Link para o post Compartilhar em outros sites
Kher 2 Denunciar post Postado Janeiro 16, 2012 Obrigado! Habilitando os short tags deu certo em parte. Estou seguindo os passos básicos para depois buscar por outros complementos, embora tenho achado um pouco difícil até o momento. Em relação ao erro abaixo, sabe o que poderia estar dando erro? trata-se do código $diaSem=date(w); Notice: Use of undefined constant w - assumed 'w' in C:\EasyPHP-5.3.8.1\www\curso_php\date_br.php on line 46 dia da semana: Agora que percebi, faltaram as aspas no "w"!!! São errinhos assim que dificultam para um iniciante :D Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Janeiro 16, 2012 leia o erro, Use of undefined constant w - uso de constante 'w' indefinida você esta usando uma constante indefinida, no caso o 'w' logo aki $diaSem=date(w); a funcao date espera uma string, e null foi dado, ja q 'w' nao existe coloque 'w' entre aspas, assim $diaSem=date('w'); outra coisa, nao aconselho a usar shortags, a maioria dos servidores online nao usam o shortags, pois dependendo da configuracao, pode abrir brecha de seguranca...eh uma pratica nao aconselhavel usar shortags... Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Janeiro 16, 2012 a maioria dos servidores online nao usam o shortags, pois dependendo da configuracao, pode abrir brecha de seguranca.. hein? brecha de segurança? :mellow: Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Janeiro 17, 2012 1326748318[/url]' post='1798055']hein? brecha de segurança? :mellow: sim, em algumas hospedagens você consegue ver o script php no source do html..... Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Janeiro 17, 2012 sim, em algumas hospedagens você consegue ver o script php no source do html..... desculpe, mas.. poderia ser mais específico? pois realmente nunca ouvi falar nisso e fiquei curioso.. é um bug documentado? tem algum exemplo? Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Janeiro 17, 2012 desculpe, mas.. poderia ser mais específico? pois realmente nunca ouvi falar nisso e fiquei curioso.. é um bug documentado? tem algum exemplo? se eh documentado eu nao sei, eu sei q ja consegui, no passado, ver varios scripts php assim... Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Janeiro 17, 2012 se eh documentado eu nao sei, eu sei q ja consegui, no passado, ver varios scripts php assim... Desculpe, mas sem provas concretas não tem como comprovar a veracidade de suas palavras. Eu sou daqueles que só acredito vendo. :yay: Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Janeiro 17, 2012 Desculpe, mas sem provas concretas não tem como comprovar a veracidade de suas palavras. Assino embaixo, irmão Coelho... :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Janeiro 18, 2012 Somos 3 então. Que isso :o Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Janeiro 18, 2012 Eu já vi casos de o navegador querer fazer o download do arquivo PHP, que também é um problema, mas essa de expor o código fonte só vi acontecer quando a diretiva use_short_tags estava desativada, aí ocorre isso mesmo... Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Janeiro 18, 2012 Ahhhhh sim. Isso eu também já vi. E até que faz sentido. O cara programa uma rotina que o servidor não consegue entender em tempo hábil usando short tags. Por ter estourado, o servidor entrega UM arquivo .php. Mas como a diretiva está desativada, o que vêm não é o HTML gerado e sim o próprio source. Agora tá explicado! Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Janeiro 18, 2012 Mas isso é óbvio... se short_tags está desabilitado, aquilo que você programar dentro de short open tags "<?" e "?>", vai ser lido como parte do conteúdo do site, e não código. De todo modo, vai causar problemas de acessibilidade, e não de segurança. Não estou falando que seja uma boa prática usar short tags, muito pelo contrário, eu mesmo não abro uma linha sequer assim, não me entendam mal. Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Janeiro 18, 2012 como podem ver o codigo php foi exposto, e nao foi exibido, o navegadoe entendeu o '<' e '>' como tags html e os escondeu...logo esta notacao lhe prove falha de seguranca expondo o seu codigo, em hosts q nao tem hbilitado a open short tags... PS, o servidor local q uso eh o zend server ce, mas a configuracao servindo pra qq servidor... Compartilhar este post Link para o post Compartilhar em outros sites