Mesmo quando eu passo um campo sem nenhum valor para o formulário ele realiza o registro, segue o formulário:
<form class="default-form" action="registra-cliente.php" method="POST">
<h2 class="form-title">Agendar Serviços</h2>
<input class="form-item" type="text" name="nome" placeholder="Nome">
<textarea class="form-item text-box" name="servico" placeholder="Serviço"></textarea>
<div class="radio-form">
<input class="form-item radio-input" type="radio" name="sexo" value="Masculino">
<p>Masculino</p>
<input class="form-item radio-input" type="radio" name="sexo" value="Feminino">
<p>Feminino</p>
</div>
<input class="form-item btn-submit" type="submit" value="Agendar">
</form>
e a função que registra no banco:
function registraCliente($conexao, $nome, $sexo, $servico){
$query = "insert into clientes (nome, sexo, servico) values ('{$nome}','{$sexo}','{$servico}')";
$resultado = mysqli_query($conexao, $query);
return $resultado;
}
Pelo que notei nos testes que consegui realizar, o problema está no 'if' que verifica o formulário para redirecionar para a próxima pag, uma vez que mesmo quando o valor do input é vazio a execução da função retorna um true, validando assim o formulário, segue o código do arquivo:
<?php include("conecta.php");
include("banco-clientes.php");
$nome = $_POST['nome'];
#$horario = $_POST['horario'];
$sexo = $_POST['sexo'];
$servico = $_POST['servico'];
?>
<?php if(registraCliente($conexao, $nome, $sexo, $servico)):
header("Location: agenda.php");
?>
<?php else:
$msg=mysqli_error($conexao);
?>
<h3>Não foi possível resitrar o produto</h3>
<p>Erro:<?=$msg?></p>
<?php endif ?>
Escrevi as seguintes linhas de código só para testar:
$oi = registraCliente($conexao, $nome, $sexo, $servico);
echo $oi;
O valor que a variável $oi retorna é 1 (true no caso)