Conecta ao BD, não dá erro, mas não grava
Olá, amigos, meu código conecta normalmente ao BD, faz tudo certinho, não retorna erro, mas não grava. O que pode ser?
Página do formulário e do php:
E meu arquivo de conexão:
Página do formulário e do php:
<?php
include_once 'connect.php';
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content-"width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Cadastro de Usuário</title>
<style>
body{font-family: Arial, Helvetica, sans-serif}
.content{display:flex;justify-content: center}
.contato{width:100%; max-width: 500px;}
.form{display: flex; flex-direction: column}
.field{padding:10px; margin-bottom:15px; border:1px solid #DDD; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px}
.field2{padding:10px; margin-bottom:15px; border:1px solid #ADD8E6; background-color:#ADD8E6; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px}
.field2:hover{padding:10px; margin-bottom:15px; border:1px solid #87CEFA; background-color:#87CEFA; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight:bold;}
</style>
<script>
function confereSenha(){
const senha = document.querySelector('input[name=senha]');
const confirma_senha = document.querySelector('input[name=confirma_senha');
if (confirma_senha.value === senha.value) {
confirma_senha.setCustomValidity('');
} else {
confirma_senha.setCustomValidity('As senhas digitadas não conferem! Elas precisam ser iguais.');
}
}
</script>
</head>
<body>
<section class="content">
<div class="contato">
<h2>Cadastro</h2>
Por favor, preencha todos os dados para criar um novo usuário.<br><br>
<?php
$dados = filter_input_array(INPUT_POST, FILTER_DEFAULT);
if (!empty($dados['CadUsuario'])) {
var_dump($dados);
$query_usuario = "INSERT INTO usuario (nome, email, senha, situacoe_id, niveis_acesso_id, created, modified) VALUES ('" . $dados['nome'] . "', '" . $dados['email'] . "', '" . $dados['senha'] . "', '" . $dados['situacoe_id'] . "', '" . $dados['niveis_acesso_id'] . "', '" . $dados['created'] . "', '" . $dados['modified'] . "') ";
$cad_usuario = $conn->prepare($query_usuario);
$cad_usuario->execute();
}
?>
<form name="cad_usu" class="form" method="POST" action="">
<input class="field" name="nome" placeholder="Nome" required>
<input class="field" type="email" name="email" placeholder="E-mail" required>
<input class="field" type="password" name="senha" placeholder="Senha" required onchange='confereSenha();'>
<input class="field" type="password" name="confirma_senha" placeholder="Confirmar Senha" required onchange='confereSenha();'>
<input type="hidden" name="situacoe_id" value="1">
<input type="hidden" name="niveis_acesso_id" value="1">
<input type="hidden" name="created" value='<?php echo date("Y-m-d H:i:s"); ?>'>
<input type="hidden" name="modified" value='<?php echo date("Y-m-d H:i:s"); ?>'>
<input class="field2" type="submit" name="CadUsuario" value"Cadastrar Usuário">
<input class="field2" type="reset" value"Limpar Formulário">
</form>
</div>
</section>
</div>
</body>
</html>
E meu arquivo de conexão:
<?php
$host = "localhost";
$user = "usuario";
$pass = "*****";
$dbname = "banco";
$conn = new PDO ("mysql:host=$host;dbname=".$banco,$user,$pass);
?>Edilson Santiago
Curtidas 0
Respostas
Fernando C
31/01/2023
sua conexão está errada; troque essa linha:
$conn = new PDO ("mysql:host=$host;dbname=".$banco,$user,$pass);
por essa:
$conn = new PDO ("mysql:host=$host;dbname=$dbname",$user,$pass);
veja aqui como exibir mensagens de erro:
https://forum.imasters.com.br/topic/542539-aten%C3%A7%C3%A3o-orienta%C3%A7%C3%B5es-e-regras-do-f%C3%B3rum-de-php/
$conn = new PDO ("mysql:host=$host;dbname=".$banco,$user,$pass);
por essa:
$conn = new PDO ("mysql:host=$host;dbname=$dbname",$user,$pass);
veja aqui como exibir mensagens de erro:
https://forum.imasters.com.br/topic/542539-aten%C3%A7%C3%A3o-orienta%C3%A7%C3%B5es-e-regras-do-f%C3%B3rum-de-php/
GOSTEI 0
Edilson Santiago
31/01/2023
sua conexão está errada; troque essa linha:
$conn = new PDO ("mysql:host=$host;dbname=".$banco,$user,$pass);
por essa:
$conn = new PDO ("mysql:host=$host;dbname=$dbname",$user,$pass);
veja aqui como exibir mensagens de erro:
https://forum.imasters.com.br/topic/542539-aten%C3%A7%C3%A3o-orienta%C3%A7%C3%B5es-e-regras-do-f%C3%B3rum-de-php/
$conn = new PDO ("mysql:host=$host;dbname=".$banco,$user,$pass);
por essa:
$conn = new PDO ("mysql:host=$host;dbname=$dbname",$user,$pass);
veja aqui como exibir mensagens de erro:
https://forum.imasters.com.br/topic/542539-aten%C3%A7%C3%A3o-orienta%C3%A7%C3%B5es-e-regras-do-f%C3%B3rum-de-php/
Não resolveu, amigo. Fiz como sugeriu, depois tentei uma nova abordagem, com o código abaixo, mas o problema continua.
<?php
$username = "meu usuario";
$password = "minha senha";
try {
$conn = new PDO('mysql:host=localhost;dbname=MeuBanco', $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>GOSTEI 0
Edilson Santiago
31/01/2023
sua conexão está errada; troque essa linha:
$conn = new PDO ("mysql:host=$host;dbname=".$banco,$user,$pass);
por essa:
$conn = new PDO ("mysql:host=$host;dbname=$dbname",$user,$pass);
veja aqui como exibir mensagens de erro:
https://forum.imasters.com.br/topic/542539-aten%C3%A7%C3%A3o-orienta%C3%A7%C3%B5es-e-regras-do-f%C3%B3rum-de-php/
$conn = new PDO ("mysql:host=$host;dbname=".$banco,$user,$pass);
por essa:
$conn = new PDO ("mysql:host=$host;dbname=$dbname",$user,$pass);
veja aqui como exibir mensagens de erro:
https://forum.imasters.com.br/topic/542539-aten%C3%A7%C3%A3o-orienta%C3%A7%C3%B5es-e-regras-do-f%C3%B3rum-de-php/
Não resolveu, amigo. Fiz como sugeriu, depois tentei uma nova abordagem, com o código abaixo, mas o problema continua.
<?php
$username = "meu usuario";
$password = "minha senha";
try {
$conn = new PDO('mysql:host=localhost;dbname=MeuBanco', $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>Consegui achar o erro. Erro de digitação. Estava $cad_ususario, mas deveria ser $cad_usuario.
O mais fácil é sempre o mais difícil.
Obrigado!
GOSTEI 0