Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gelli

arquivo error_log recebendo mensagens inúteis

Recommended Posts

Bom dia.

Quando tento desmembrar o resultado de date() usando as variáveis, usando o código abaixo:
  $aux = date(d)."/".date(m)."/".date(Y);   // aqui $aux = 05/11/17

Estou recebendo no arquivo error_log mensagens  como esta abaixo

  PHP Notice:  Use of undefined constant d - assumed 'd'

Como faço para evitar que essa mensagem seja gravada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá gelli. Seja bem-vindo ao fórum!

Amigo, leia o erro que o PHP está te indicando... "uso de constante indefinida d - 'd' assumido".

 

O que seria essa constante? Veja: http://php.net/manual/pt_BR/language.constants.php

"Identificador (nome) para valor único".

Exemplo de uso:

<?php
//geralmente as constantes são escritas DESSA_FORMA
//uma vez que seu valor é definido, ele não pode mais mudar
//http://php.net/manual/pt_BR/function.define.php
define( 'SAUDACAO_AO_USUARIO',  'Olá' );

//exemplo de uso:
echo SAUDACAO_AO_USUARIO . ', Joao!';//resultado: Olá, Joao!

Note que ao utilizarmos constantes, não utilizamos aspas ao redor para chamá-las, nem o uso do cifrão ($).

 

Agora relendo o erro... "uso de constante não definida", significa que você escreveu dentro do parâmetro da função date um nome (sem cifrão e que não está ao redor de aspas), que no PHP significa que deveria ser uma constante, mas você não definiu essa constante, pois o que você queria era passar como parâmetro apenas a letra d.

 

Agora veja o manual da função date: http://php.net/manual/pt_BR/function.date.php

O primeiro parâmetro dessa função, que é o único obrigatório, deve ser uma string. E como escrevemos strings no PHP?

https://secure.php.net/manual/pt_BR/language.types.string.php

Citar

A maneira mais simples de se especificar uma string é delimitá-la entre aspas simples (o caractere ').

 

Ou seja, basta você colocar dentro de aspas, que será uma string. Se não tiver aspas, será uma constante... e se não tiver aspas, mas começar com um cifrão, será uma variável.

 

E como o seu código estava funcionando mesmo assim? Aí vem a segunda parte do erro: assumido 'd'.

O PHP não encontrou a tal da constante d, então ele automaticamente transformou aquilo em uma string pra facilitar sua vida, mas isso está errado e eu acho que o PHP não deveria funcionar dessa forma, pois confunde os novos usuários...

 

Resumindo tudo para chegarmos onde realmente importa pra você: você precisa colocar aspas ao redor dos seus parâmetros, assim:

$aux = date('d')."/".date('m')."/".date('Y');

 

Espero ter ajudado... até mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por FelipeCampos10
      Preciso de ajuda com a sessão em PHP PDO.
      Estou desenvolvendo um software para upload de imagens como o google fotos, mas não sei como fazer para criar uma conta individual para cada usuário.
      Alguém pode me ajudar?
    • Por codercss
      Olá a todos,
      Tenho o seguinte código: https://jsfiddle.net/mbbjsg3q/
      Sei que não é boa prática colocar img no interior da tag p, mas neste projecto tem que ser. A questão é como centro a imagem?
       
      Obrigado
    • Por mldiogo87
      Bom dia,
       
      Tenho um textarea que cadastra textos no banco de dados.
       
      Gostaria que, ao exibir esse texto, substituir as quebras de linha (enters) por <P> no ínicio e </P> no final.
       
      Testei algumas funções, pesquisadas no fórum, mas sem sucesso.
       
      Grato,
       
      $stringWithPs = str_replace("\n\n", "</p>\n<p>", $texto); $stringWithPs = "<p>" . $stringWithPs . "</p>"; echo $stringWithPs;  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.