Inserção de Dados PHP no PHPMyADMIN
Estou com um problema e não sei o que pode estar acontecendo. Na depuração aparece os campos em brancos como se não tivesse preenchido.
meu banco
meu conexao.php
meu index.php
meu processa.php
meu banco
CREATE TABLE `usuarios` ( `id` int(5) NOT NULL, `nome` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `created` datetime NOT NULL, `modified` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
meu conexao.php
<?php $servidor = "localhost"; $usuario = "root"; $senha = ""; $dbname = "celke"; // Criar a conexão $conn = mysqli_connect($servidor, $usuario, $senha, $dbname); ?>
meu index.php
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>CRUD - Cadastrar</title>
</head>
<body>
<h1>Cadastrar Usuário</h1>
<?php
if(isset($_SESSION[''''msg''''])){
echo $_SESSION[''''msg''''];
unset($_SESSION[''''msg'''']);
}
?>
<form action="processa.php" method="POST">
<label>Nome: </label>
<input type="text" name="nome" placeholder="Digite o nome completo"><br><br>
<label>E-mail: </label>
<input type="email" name="email" placeholder="Digite o seu melhor e-mail"><br><br>
<input type="submit" method="POST" value="Cadastrar">
</form>
</body>
</html>
meu processa.php
<?php
session_start();
include_once("conexao.php");
$nome = filter_input(INPUT_POST, ''''nome'''', FILTER_SANITIZE_SPECIAL_CHARS);
$email = filter_input(INPUT_POST, ''''email'''', FILTER_VALIDATE_EMAIL);
echo "Nome: $nome <br>";
echo "E-mail: $email <br>";
//$result_usuario = "INSERT INTO usuarios (nome, email, created) VALUES (''''$nome'''', ''''$email'''', NOW())";
//$resultado_usuario = mysqli_query($conn, $result_usuario);
//if(mysqli_insert_id($conn)){
// $_SESSION[''''msg''''] = "<p style=''''color:green;''''>Usuário cadastrado com sucesso</p>";
// header("Location: index.php");
//}else{
// $_SESSION[''''msg''''] = "<p style=''''color:red;''''>Usuário não foi cadastrado com sucesso</p>";
// header("Location: index.php");
//}
?>
Levi Lucena
Curtidas 0
Respostas
Levi Lucena
18/08/2023
não tem como editar a publicação, mas no processa.php utilizo aspas simples.
$nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_SPECIAL_CHARS);
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
$nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_SPECIAL_CHARS);
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
GOSTEI 0
Arthur Heinrich
18/08/2023
O insert na tabela "usuarios" não cita a coluna "id", que é not null. Logo, o banco barra o insert por violação da constraint de check "is not null".
Para que a coluna seja preenchida de forma automática, precisa ser especificado na criação da tabela, com a diretiva "AUTO_INCREMENT".
Para que a coluna seja preenchida de forma automática, precisa ser especificado na criação da tabela, com a diretiva "AUTO_INCREMENT".
CREATE TABLE `usuarios` ( `id` int(5) NOT NULL AUTO_INCREMENT, `nome` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `created` datetime NOT NULL, `modified` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
GOSTEI 0