DinhoPHP 1 Denunciar post Postado Junho 4, 2016 Quando capturo a data de um formulário HTML, não consigo gravá-la no meu banco de dados e no email eu recebo no formato: YYYY-MM-DD. Segue o código. $dnas = $_POST['dnasc']; $formcontent = ("Data de Nascimento: $dnas"); $recipient = "contato@emil.com.br"; $subject = "Formulário de Contato";$mailheader = "INFORMAÇÕES CADASTRADAS"; $insert = $pdo->prepare("INSERT INTO tabela (dnasc) VALUES (:dnasc)"); $insert->bindValue(":dnasc", $dnas); $insert->execute();mail ($recipient , $subject, $formcontent , $mailheader) or die("Erro");echo "<h1>Sua mensagem foi enviada com sucesso!</h1>"; E o resultado é: 00000-00-00 no BD e no email é a exibição correta do que foi postado, só que no formato YYYY-MM-DD. Compartilhar este post Link para o post Compartilhar em outros sites
rpmarques 3 Denunciar post Postado Junho 4, 2016 Amigo....eu uso esta função... function gravaData ($rData) { if ($rData != '') { return (substr($rData,6,4).'-'.substr($rData,3,2).'-'.substr($rData,0,2)); }else { return ''; } } Compartilhar este post Link para o post Compartilhar em outros sites
DinhoPHP 1 Denunciar post Postado Junho 6, 2016 Amigo, muito obrigado mas não entendi como utilizar rs. Pode ser um erro grotesco meu, mas tem como exemplificar melhor? Compartilhar este post Link para o post Compartilhar em outros sites
gabrieldarezzo 255 Denunciar post Postado Junho 6, 2016 Basicamente ele transforma uma 'date' pt-br em date 'en' <?php /** * Caso data não seja vazia *Entra 'DD/MM/YYYY' E RETORNA 'YYYY/MM/DD' *@param (string) (date-pt-br) *Ex: @param (string) '06/10/1992' *@return: @return (string) '1992-10-06' ***/ function gravaData ($rData) { if ($rData != '') { return (substr($rData,6,4).'-'.substr($rData,3,2).'-'.substr($rData,0,2)); }else { return ''; } } echo gravaData('06/10/1992'); //retorna: '1992-10-06' Mas tem varias abordagens , tem gente que faz com explode, tem gente que utiliza função nativa do MYSQL: http://www.mysqltutorial.org/mysql-str_to_date/ Para entender individualmente a função você pode pegar partes menores. http://php.net/manual/pt_BR/function.substr.php ( Retorna uma parte de uma string) Leitura extra: http://stackoverflow.com/questions/805828/using-mysqli-bind-param-with-date-and-time-columns Compartilhar este post Link para o post Compartilhar em outros sites
DinhoPHP 1 Denunciar post Postado Junho 8, 2016 Gabriel, agradeço pelos links que enviastes e a ajuda do rpmarques, só que descobri que o problema pode está ligado à algo mais, pois quando peço apenas para inserir dois campos no banco de dados MySQL, isto é feito com sucesso, agora quando existem mais, nenhuma linha no banco de dados é afetada, segue o código. <? //IDENTIFICAÇÃO $nivel= $_POST['nivel']; $nome = $_POST['nome']; $dnas = $_POST['dnasc']; //$dnas = implode("-", array_reverse(explode("/", $dnas))); $nac = $_POST['nacionalidade']; $nat = $_POST['naturalidade']; $sexo = $_POST['sexo']; $cpf = $_POST['cpf']; //CONTATOS $tel1 = $_POST['tel1']; $cel1 = $_POST['cel1']; $cel2 = $_POST['cel2']; $email = $_POST['email']; //LOGADOURO $cep = $_POST['cep']; $rua = $_POST['rua']; $bairro = $_POST['bairro']; $complemento = $_POST['complemento']; $cidade = $_POST['cidade']; $estado = $_POST['uf']; $ibge = $_POST['ibge']; //O PROFISSIONAL $inicioprof = $_POST['inicioprof']; //$profissao = $_POST['profissao']); if(isset($_POST['profissao'])){ $recprof = $_POST['profissao']; $profissao = implode(", ", $recprof); }else{ } //$habprof = $_POST['habilidades_profissional']); if(isset($_POST['habilidades_profissional'])){ $rechabprof = $_POST['habilidades_profissional']; $habprof = implode(", ", $rechabprof); }else{ } $descrprof = $_POST['descr_profissional']; //INSERINDO DADOS NO BANCO DE DADOS $insert = $pdo->prepare("INSERT INTO profissionais (nivel, nome, dnasc, nacionalidade, naturalidade, cpf, tel1, cel1, cel2, email, sexo, cep, rua, bairro, complemento, cidade, estado, inicioprof, profissao, habilidades_profissional, descr_profissional) VALUES (:nivel, :nome, :dnasc, :nacionalidade, :naturalidade, :cpf, :tel1, :cel1, :cel2, :email, :sexo, :cep, :rua, :bairro, :complemento, :cidade, :estado, :inicioprof, :profissao, :habilidades_profissional, :descr_profissional)"); $insert->bindValue(":nivel", $nivel); $insert->bindValue(":nome", $nome); $insert->bindValue(":dnasc", $dnas); $insert->bindValue(":nacionalidade", $nac); $insert->bindValue(":naturalidade", $nat); $insert->bindValue(":cpf", $cpf); $insert->bindValue(":tel1", $tel1); $insert->bindValue(":cel1", $cel1); $insert->bindValue(":cel2", $cel2); $insert->bindValue(":email", $email); $insert->bindValue(":sexo", $sexo); $insert->bindValue(":cep", $cep); $insert->bindValue(":rua", $rua); $insert->bindValue(":bairro", $bairro); $insert->bindValue(":complemento", $complemento); $insert->bindValue(":cidade", $cidade); $insert->bindValue(":estado", $estado); //$insert->bindValue(":ibge", $ibge); $insert->bindValue(":inicioprof", $inicioprof); $insert->bindValue(":profissao", $profissao); $insert->bindValue(":habilidades_profissional", $habprof); $insert->bindValue(":descr_profissional", $descrprof); $insert->execute(); /*CONTEÚDO À SER ENVIADO $formcontent = utf8_decode("-----------------------"."\n"."Identificação"."\n"."Nível: $nivel"."\n"."Nome: $nome"."\n"."Data de Nascimento: $dnas"."\n"."Nacionalidade: $nac"."\n"."Naturalidade: $nat"."\n"."Sexo: $sexo"."\n"."\n"."Contatos"."\n"."Telefone: $tel1"."\n"."Celular: $cel1"."\n"."Celular: $cel2"."\n"."Email: $email"."\n"."\n"."Logadouro"."\n"."CEP: $cep"."\n"."Rua: $rua"."\n"."Bairro: $bairro"."\n"."Complemento: $complemento"."\n"."Cidade: $cidade"."\n"."Estado: $estado"."\n"."IBGE:$ibge"."\n"."O Profissional"."\n"."Iniciou em: $inicioprof"."\n"."Profissão: $profissao"."\n"."Habilidades: $habprof"."\n"."Descrição profissional: $descrprof"."\n"."--------------------------"); $recipient = "email@equipenovainfo.com.br"; $subject = "Formulário de Contato"; $from = "*************"; $mailheader = "INFORMAÇÕES CADASTRADAS"; mail ($recipient , $subject, $formcontent , $mailheader) or die("Erro"); echo "<h1>Sua mensagem foi enviada com sucesso!</h1>"; */?> Compartilhar este post Link para o post Compartilhar em outros sites
gabrieldarezzo 255 Denunciar post Postado Junho 8, 2016 Lendo com calma. , não consigo gravá-la Esse problema realmente existe? Ou ele está gravando 'correto' só que exibindo errado? Pois novamente... o 'default/padrão' é ingles. Ou seja você precisa tratar a entrada e saida. Testa ai em um script individual. SELECT DATE_FORMAT(NOW(),'%d/%m/%Y') AS 'Hoje PT_BR' FROM DUAL; SELECT NOW() FROM DUAL; * Dual é uma tabela fantasma, ela existe em todos os bancos. ** Referencia: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html Agora caso esteja armazenado errado no banco precisa rever seu Insert. da um var_dump($_POST); e veja se esta passando os campos corretos,habilita os erros como descrito no forum. E da uma olhada nessa função: http://php.net/manual/pt_BR/pdo.errorinfo.php Compartilhar este post Link para o post Compartilhar em outros sites
DinhoPHP 1 Denunciar post Postado Junho 8, 2016 Ok Gabriel, verei e retornarei. Só achei estranho por já ter feito um no mesmo formato e ter funcionado. Compartilhar este post Link para o post Compartilhar em outros sites
DinhoPHP 1 Denunciar post Postado Junho 8, 2016 Bom, recebendo está. array(23) { ["nome"]=> string(6) "Tamara" ["dnasc"]=> string(10) "1991-11-11" ["nacionalidade"]=> string(10) "Brasileiro" ["naturalidade"]=> string(12) "Nova Iguaçu" ["cpf"]=> string(14) "111.111.111-11" ["tel1"]=> string(10) "2133333335" ["cel1"]=> string(13) "21 98989-8999" ["cel2"]=> string(13) "21 98888-8888" ["email"]=> string(21) "samarabest@nil.com.br" ["sexo"]=> string(8) "Feminino" ["cep"]=> string(8) "26052710" ["rua"]=> string(10) "Rua Elvira" ["bairro"]=> string(12) "Vila de Cava" ["complemento"]=> string(10) "Campo Novo" ["cidade"]=> string(12) "Nova Iguaçu" ["uf"]=> string(2) "RJ" ["ibge"]=> string(7) "3303500" ["nivel"]=> string(1) "2" ["inicioprof"]=> string(7) "05/1999" ["profissao"]=> array(1) { [0]=> string(8) "manicure" } ["habilidades_profissional"]=> array(3) { [0]=> string(9) "decoracao" [1]=> string(7) "acrigel" [2]=> string(9) "porcelana" } ["descr_profissional"]=> string(16) "#bondedaslatifas" ["enviar"]=> string(6) "Enviar" } Compartilhar este post Link para o post Compartilhar em outros sites