Ir para conteúdo

Arquivado

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

joeythai

Converter uma variável que guarda data

Recommended Posts

boa tarde,

 

Preciso da ajuda de todos vocês(Como sempre rs). Eu tenho um formulário com o id: "inicio_evento", e tenho a variável $inicioEvento que recebe esse campo através do método $_POST, porém, não estou conseguindo passar esse valor para o banco de dados, preciso de alguma função que pegue essa variável que está guardando o valor inserido pelo usuário. Eis o código:

 

 

Formulário

  <td><input class="box" type="text" name"inicio_evento" id="inicio_evento" onKeyPress="DataHora(event, this)" value="<?=checkGetChar($alter['inicio_evento']) ?>"></td>
      <td><input class="box" type="text" name="fim_evento" id="fim_evento" onKeyPress="DataHora(event, this)" value="<?=checkGetChar($alter['fim_evento'])?>" /></td>

Aqui, é onde eu salvo os valores

 

$GLOBALS['inicioEvento'] = date('Y-m-d H:i:s');
$GLOBALS['fimEvento'] = date('Y-m-d H:i:s');
Eu deixei desse jeito para que o sistema vá salvando a data atual, mas não preciso da data atual preciso de inserir uma data qualquer, por exemplo 22/10/2010. Tentei fazer dessa maneira já no desespero mesmo:

$GLOBALS['inicioEvento'] = date($_POST['inicio_evento']);
$GLOBALS['fimEvento'] = date($_POST['fim_Evento']);
Se puderem dar uma ajuda agradeço muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi. Você quer converter de d/m/Y para Y-m-d? Se for isso, veja: http://php.net/manual/en/datetime.createfromformat.php

Não é o formato que quero, mas sim salvar uma data antiga, o campo "inicio_evento" do formulário, me trás uma data qualquer que o usuário preencheu e a variável $inicioEvento guarda essa data através do $_POST['inicio_evento'], só que quando eu passo para a variavel

$GLOBAL['inicioEvento' ] = $_POST['inicio_evento'] ela dá erro

não está aceitando a variável.

Não é o formato que quero, mas sim salvar uma data antiga, o campo "inicio_evento" do formulário, me trás uma data qualquer que o usuário preencheu e a variável $inicioEvento guarda essa data através do $_POST['inicio_evento'], só que quando eu passo para a variavel

$GLOBAL['inicioEvento' ] = $_POST['inicio_evento'] ela dá erro

não está aceitando a variável.

ela da esse erro: sucessoIncorrect valor de data e hora: '' para a coluna 'inicio_evento' na linha 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

que erro aparece?

 

sobre $GLOBALS, por que está usando isso? Não é boa prática abusar do uso de variáveis globais. Pode gerar dores de cabeça. É preferível passar como parâmetro para outras funções :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

que erro aparece?

 

sobre $GLOBALS, por que está usando isso? Não é boa prática abusar do uso de variáveis globais. Pode gerar dores de cabeça. É preferível passar como parâmetro para outras funções :thumbsup:

Eu só estou dando continuidade em um sistema aqui que já foi criado, e pediram para incluir essa funcionalidade, como já tem essa estrutura pronta, aproveitei para incluir mais este campo, eu sou novo em PHP também, então ainda não sei como funciona as boas práticas em PHP, preciso dar uma estudada nessa parte, o problema que nem tenho tempo para estudar pois tudo que me pedem á para ontem rs, ai eu tenho que me virar nos 30, quero resolver algumas demandas que tenho aqui e iniciar um curso de PHP para aprender justamente as melhores práticas de programação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se essa variavel for pro MySql e for um campo TIMESTAMP, formato da data deve ser assim.

 

 $data_db = date('Y-m-d H:i:s', strtotime($_POST['inicio_evento']));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se essa variavel for pro MySql e for um campo TIMESTAMP, formato da data deve ser assim.

 

 $data_db = date('Y-m-d H:i:s', strtotime($_POST['inicio_evento']));

 

Se essa variavel for pro MySql e for um campo TIMESTAMP, formato da data deve ser assim.

 

 $data_db = date('Y-m-d H:i:s', strtotime($_POST['inicio_evento']));

 

 

aparentemente o campo é not null e você está tentando salvar uma string vazia (por isso o '' na mensagem de erro)

 

mostre o trecho onde salva esse valor no banco

Muito obrigado Beraldo e Luis Paullo.

Obrigado ao Beraldo pela paciência e por fazer as perguntas certas, obrigado ao Luis pelo esclarecimento, o problema foi resolvido quando inclui strtotime como você falou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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