I have a function
that if it returns 1
a alert
appears:
form uploaded successfully
If you return 0
, a alert
appears:
error submitting your form.
When I leave the form blank the expected behavior would display the error "Error while submitting your form" and not sending anything in the database, but it is happening to the contrary even giving the error alert is sending the form blank pro bank.
<?php
if(!empty($_FILES['uploaded_file'])){
$username = 'root';
$password = '';
$connection = new PDO( 'mysql:host=localhost;dbname=nise', $username );
$query = "INSERT INTO denuncia (descricao, imagem, id_usuario, qual_descricao,id_bloco, id_denuncia_oque)
VALUES (:descricao, :imagem, :id_usuario, :qual_descricao, :id_bloco, :id_denuncia_oque)";
$statement = $connection->prepare($query);
$path = "img_denuncia/";
$path = $path . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $path))
$valores = array();
$valores[':descricao'] = $_POST['descricao_denuncia'];
$valores[':imagem'] = $_FILES['uploaded_file']['name'];
$valores[':id_usuario'] = 2;
$valores[':qual_descricao'] = $_POST['qual_descricao'];
$valores[':id_bloco'] = $_POST['bloco_denuncia'];
$valores[':id_denuncia_oque'] = $_POST['id_denuncia_oque'];
if(!isset($_POST['descricao_denuncia']) or empty($_POST['descricao_denuncia'])) {
echo 0;
} elseif(!isset($_POST['qual_descricao']) or empty($_POST['qual_descricao'])) {
echo 0;
} elseif(!isset($_POST['bloco_denuncia']) or empty($_POST['bloco_denuncia'])) {
echo 0;
} elseif(!isset($_POST['id_denuncia_oque']) or empty($_POST['id_denuncia_oque'])) {
echo 0;
} elseif($result = $statement->execute($valores)) {
echo 1; // dados enviados com sucesso
} else {
echo 0; // erro ao tentar enviar dados
}
}
?>
function
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>$(document).ready(function(){//eventode"submit"
$("#b_enviar").click(function (e) {
// parar o envio para que possamos faze-lo manualmente.
e.preventDefault();
// captura o formulário
var form = $('#caixa')[0];
// cria um FormData {Object}
var data = new FormData(form);
// processar
$.ajax({
type: "POST",
url: "http://localhost/nise/aluno.php", //acerte o caminho para seu script php
data: data,
processData: false, // impedir que o jQuery tranforma a "data" em querystring
contentType: false, // desabilitar o cabeçalho "Content-Type"
//cache: false, // desabilitar o "cache"
// manipular o sucesso da requisição
}).done(function(retorno){
console.log(retorno);
retorno = parseInt(retorno);
if(retorno==1)
{
//alert("Formulário enviado com sucesso");
$("#myModalSucess").modal('show');
console.log(retorno);
}
else
{
//alert("erro ao enviar formulário");
$("#myModalError").modal('show');
}
});
});
});
</script>
form
<form id="caixa" class="center-block row col-xl-6" enctype="multipart/form-data" name="formulario" method="POST" action="aluno.php">
<br>
<div class="row p-0 no-margin col-12 col-sm-12 col-md-12 col-lg-10 col-xl-12" >
<div class="form-group">
<label for="sel1">Bloco:</label>
<select class="form-control " name="bloco_denuncia" id="bloco" required="required" placeholder="ex: Bloco 3" >
<option value="" disabled selected>Ex: Computação</option>
<option value="1">Bloco - Computação</option>
<option value="2">Bloco - Mecânica</option>
<option value="3">Bloco - Química</option>
<option value="4">Bloco - Administrativo</option>
<option value="5">Biblioteca </option>
<option value="6">Ginásio </option>
<option value="7">Auditório</option>
<option value="0">Outros</option>
</select>
</div>
<div class="form-group">
<label for="sel1">O que:</label>
<select select="required" class="form-control" name="id_denuncia_oque" id="sel1" required="required" >
<option value="" disabled selected>Ex: Laboratório</option>
<option value="1">Sala</option>
<option value="2">Banheiro(Térreo)</option>
<option value="3">Banheiro(Superior)</option>
<option value="4">Laboratório</option>
<option value="5">Coordenação</option>
<option value="6">Gabinete</option>
<option value="7">Telecom</option>
<option value="8">Outros</option>
</select>
</div>
<div class="form-group">
<label for="usr">Qual:</label>
<input type="text" class="form-control" id="usr" name="qual_descricao" placeholder="Ex: Lab" required="required" >
</div>
</div>
<textarea id="noresize" class="form-control col-12 col-sm-12 mb-12 col-md-12 col-lg-10 col-xl-12 " name="descricao_denuncia" placeholder="Faça sua denúncia aqui... " rows="13" required="required" autofocus="autofocus"></textarea>
<br>
<div id="botoes" class="row p-0 no-margin col-12 col-sm-12 col-md-12 col-lg-10 col-xl-12">
<div class="botao p-0 no-margin col-6 col-sm-6 mb-3 col-md-6 col-lg-2 col-xl-10">
<label class="file-upload btn btn-primary">
Escolha o arquivo... <input type="file" name="uploaded_file"/ accept="image/*">
</label>
<small class="form-text text-muted">As suas mensagens não serão totalmente anônimas.</small>
</div>
<div class="botao p-0 no-margin col-6 col-sm-6 mb-3 col-md-6 col-lg-10 col-xl-2 text-right ">
<input id="b_enviar" type="submit" class="btn btn-success" value="Enviar" name="enviar"/>
</div>
</div>
</form>
<br>
<!--Fim da caixa-->