Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Mysql aceitando valores em branco

Boa tarde,

Conseguem identificar por que o Mysql esta aceitando os valores do numulário em branco, e não imprime a mensagem de erro? Segue código:

<?php include("cabecalho.php"); ?>

<?php 
function inserePiloto($conexao, $nome, $nascimento, $cidade, $estado) {   
   $query = "insert into pilotos (nome, nascimento, cidade, estado) values( '{$nome}', '{$nascimento}', '{$cidade}', '{$estado}')";
    return mysqli_query($conexao, $query);
}


$nome = $_GET["nome"];
$nascimento = $_GET["nascimento"];
$cidade = $_GET["cidade"];
$estado = $_GET["estado"];

$conexao = mysqli_connect ('localhost', 'root', '', 'motocross');



if (inserePiloto($conexao, $nome, $nascimento, $cidade, $estado)){ ?>

    <p class="alert-success"> O piloto foi adicionado com sucesso!</p>
<?php
    } else {
    $msg = mysqli_error($conexao);
?>
    <p class="alert-danger"> O piloto não pode ser adicionado!</b> Erro: <?= $msg?></p>
<?php
}
?>
<?php include("rodape.php"); ?>
6 respostas

Oi Wanderson!

Isso depende um pouco de como a tabela está criada no seu banco de dados.

Dá um desc pilotos no seu mysql e coloca o resultado aqui?

Ele está permitindo valores vazios pois todas as colunas da sua tabela está com null como yes

você precisa mudar elas pra colocar null como no

no próprio phpMyAdmin deve dar pra fazer isso

Fiz as alterações, porém ainda está aceitando: https://drive.google.com/file/d/18hG1Hqq4bYhagDc-LVdaRcnfBXqOjZqz/view?usp=sharing

Como faço para travar o envio do formulário caso um dos campos esteja vazio?

solução!

Uma forma de fazer isso seria utilizando atributos do HTML5, o mais simples seria colocar o atributo required. Vários exemplos de validação com HTML5 você pode ver aqui.

https://tableless.com.br/validacao-de-formularios-com-html5/

Outra forma seria utilizar Javascript. Segue um exemplo:

http://rafaelcouto.com.br/validando-formularios-com-javascript/

Muito obrigado.