Fórum Problemas com o Wampserver 3.2 #623705
21/04/2025
0
Estou desenvolvendo um pequeno sistema em PHP e fiz a conexão com o banco de dados. Tudo certo, fiz os testes necessários e induzindo ao erro.
Fiz o INSERT e quando tento inserir os dados, simplesmente não registra na tabela no Mysql e mesmo fazendo o comando ISSET($_POST['submit'] e o print_r, para verificar se a sintaxe estivesse correta, os dados não apareciam.
Já reiniciei o serviço inúmeras vezes, mexi na configuração e quando rodo o arquivo, aparece a seguinte mensagem:
"Undefined array key "localEvento" in C:\wamp\www\sisregeventos\formulario.php on line 8"
Sendo que verifiquei os campos no formulário e no banco de dados está tudo certo e mesmo assim não grava os dados na tabela.
Vou colocar o código aqui:
// conexão.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "eventos";
$conexao = mysqli_connect($host, $user, $pass, $dbname);
?>
//formulario.php
<?php
include 'conexao.php';
$nr_oficio = $_POST['nr_oficio'];
$nomeResponsavel = $_POST['nomeResponsavel'];
$enderecoEvento = $_POST['enderecoEvento'];
$cpf = $_POST['cpf'];
$localEvento = $_POST['localEvento'];
$dataEvento = $_POST['dataEvento'];
$telefone = $_POST['telefone'];
$pub_estimado = $_POST['pub_estimado'];
$sql = mysqli_query($conexao, "INSERT INTO tb_eventos(nr_oficio,nomeResponsavel,enderecoEvento,cpf,localEvento,dataEvento,telefone,pub_estimado)
VALUES ('$nr_oficio','$nomeResponsavel','$enderecoEvento','$cpf','$localEvento','$dataEvento','$telefone','$pub_estimado')");
?>
Acredito ser problema de versão do WampServer. Uso o Windows 10 32 bits, PHP 7.4.33.
O que pode estar acontecendo?
Peço ajuda!
Desde já agradeço

Douglas Goulart
Curtir tópico
+ 0Posts
22/04/2025
Fernando C
Se ainda não resolveu, poste o formulário e a estrutura da tabela,fica mais facil localizar o erro.
Gostei + 0
22/04/2025
Douglas Goulart
Isso já resolvi, mas me explica por que o print_r não traz os dados, só para ver se estava tudo certinho?
Antes eu havia feito dessa maneira:
if(isset($_POST['submit']))
{
print_r($_POST['num_oficio']);
}
// restante do código
E tenho um outro problema no campo data. Declarei o campo dataEvento como DATE e codifiquei da seguinte maneira:
$dataEvento = $_POST['dataEvento'];
$data = date_create_from_format('Y-m-d', $dataEvento);
E no formulário, está assim:
<input type="date" name="dataEvento" size="10">
Quando vou fazer o cadastro, os outros campos estão certinhos, só a data que está zerada. Qual seria o motivo?
Se puder me ajudar, eu fico agradecido.
[]'s
Gostei + 0
22/04/2025
Fernando C
tente var_dump();
2. atualmente em formulários html não é mais preciso formatar a data por PHP;
nem o "size =10"; basta deixar assim:
<input type="date" name="dataEvento">
e o campo no BD como "date", normal.
mantenha essa linha normal:
$dataEvento = $_POST['dataEvento'];
eu uso o firefox e está exbindo c/ var_dump e gravando certinho.
inclusive o "print_r" impede a gravação; (não sei qual o problema,
nunca usei esse print_r e agora nem pretendo rs)
[ ], sucesso
Gostei + 0
22/04/2025
Douglas Goulart
Já tentei o var_dump e mesmo assm não acontece nada. Estou usando o Chrome (será que pode ser por isso?)
Vou fazer as alterações aqui e já te retorno.
[]'s
Gostei + 0
22/04/2025
Douglas Goulart
Abri o Firefox e mesmo usando o var_dump(), não funcionou. Talvez esteja declarando errado:
var_dump($_POST['num_oficio'];
É o correto ou falta alguma coisa?
A data ainda está registrando zerada, mesmo no BD como DATE. E como posso estar formatando para o padrão brasileiro? Será que é problema no BD do phpmyadmin?
Estou usando o XAMPP para 32 bits, versão 7.4.33 do PHP e versão 5.7 do MYSQL. Você indicaria outro servidor?
Ajuda o amigo aí!
No aguardo!
Gostei + 0
23/04/2025
Fernando C
1. var_dump() é uma função; então faltou vc fechar o parêntese:
var_dump($POST['campo_do_form']);
2. uso XAMPP agora tb (faz uns 2 anos; antes preferia instalar separado; ainda prefiro, mas estava c/preguiça mesmo.. rs..); então, já de antemão t aviso: se vc desligar o pc, depois tem que ativar Apache e Mysql (mas isso acho q vc já sabe, enfim..);
minha versão é 32 bits tb, PHP 7.3.2
3. qto a data, desculpe eu insistir, mas poste o código do formulário e a estrutura da tabela,
não é por nada, é que senão a gente fica no "achismo"..
4. p/ passar a data do Mysql p/ o formato brasileiro tem 2 funções: 1 dentro do BD (date_format()) e outra no PHP qdo for listar os registros, mas calma que a gente chega lá rs..
5. qto ao phpmyadmin, não é por nada não, mas nunca consegui usar, acho terrivel,
sugiro que qqer hora tente o HeidiSQL; é gratuito tb, em português e não é pesado.
Gostei + 0
23/04/2025
Douglas Goulart
create table tb_eventos (
idCodigo int(11) auto_increment not null,
num_oficio varchar(50) not null,
nomeEvento varchar(50) not null,
nomeResponsavel varchar(50) not null,
cpf varchar(15) not null,
enderecoResponsavel varchar(50) not null,
dataEvento date not null,
pub_estimado varchar(50) not null
primary key(idCodigo));
Sobre o date_format(), como é feito no código PHP e dentro do BD?
Obg por me ajudar!
No aguardo!
[]'s
Gostei + 0
24/04/2025
Fernando C
(na verdade, tem 3 opções)
bom, suponha que vc quer exibir o nome de um evento e a data em que vai ocorrer.
A data, no mysql, vai estar assim (por exemplo): 2025-04-24, ok?
"dentro" do mysql: a sql fica assim:
select nomeevento, date_format(campo_com_a_data, '%d/%m/%Y') as dataformatada
from tabela;
(vc da um apelido p/ a data formatada)
teste 1o. direto no mysql.
na hora de exibir, (não sei se vc já sabe fazer o loop c/ o fetch),
mas fica assim:
while ($exibir = mysqli_fetch_assoc($sql)){
echo $exibir['nomedoevento'];
echo $exibir['dataformatada'];
}
funções PHP:
1. declare uma variavel dentro do loop:
$date=date_create($exibir['dia']);
a seguir formata parecido c/ dentro do mysql:
echo date_format($date, 'd/m/Y');
2. tb tem a função strtotime:
echo date('d/m/Y', strtotime($exibir['dia']));
mas parece que vai cair em desuso; pesquise a respeito.
Ah, sobre var_dump, vc pode simplemente tb usar "echo".
Que curioso, a estrutura parece estar ok, aguardo o formulário
(tá c/ problema p/ gravar a data ainda?)
Boa sorte, disponha
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)