Hello, I have a code that "enables and disables" users. This:
HTML
<button type='button' class='btn btn-success btn-circle ativar-gestor'>
<i class='fa fa-check'></i>
<input type='hidden' value='{$dados['Id']}' name='id'>
</button>
<button type='button' class='btn btn-danger btn-circle desativar-gestor'>
<i class='fa fa-ban'></i>
<input type='hidden' value='{$dados['Id']}' name='id'>
</button>
jQuery and Ajax (confirmActivate executes 2 times, shows window confirm 2 times)
//Ativar
$( ".ativar-gestor" ).click(function() {
var icone = $(this);
var id = $('input', icone).val();
var confirmaAtiv = confirm('Deseja realmente ativar este gestor?');
if(confirmaAtiv){
$.ajax({
type : 'POST',
url : 'dados/ativar-gestor.php',
data : {id : id},
dataType : 'json',
success : function(data){
if(data.status == 1 || data.status == 2){
alert(data.msg);
window.location.href="index.php?pg=gestores";
}else{
form.get(0).reset();
alert(data.msg);
}
}
});
}
});
//Desativar
$( ".desativar-gestor" ).click(function() {
var icone = $(this);
var id = $('input', icone).val();
var confirmaDesat = confirm('Deseja realmente desativar este gestor?');
if(confirmaDesat){
$.ajax({
type : 'POST',
url : 'dados/desativar-gestor.php',
data : {id : id},
dataType : 'json',
success : function(data){
if(data.status == 1 || data.status == 2){
alert(data.msg);
window.location.href="index.php?pg=gestores";
}else{
form.get(0).reset();
alert(data.msg);
}
}
});
}
});
PHP Active Manager (works correctly)
$id = mysqli_real_escape_string($conn, $_POST['id']);
//Checa existencia do ID
$sqlCheck = mysqli_query($conn, "SELECT Id FROM Gestores WHERE Id = {$id}");
//Ativa
if(mysqli_num_rows($sqlCheck) == 1){
if(mysqli_query($conn, "UPDATE Gestores SET Ativo = 1 WHERE Id = {$id}")){
$retorno = array("status" => 1, "msg" => "Cadastro ativado com sucesso!");
echo json_encode($retorno);
exit;
}else{
$retorno = array("status" => 0, "msg" => "Ocorreu um erro ao ativar o cadastro. Tente novamente.");
echo json_encode($retorno);
exit;
}
}else{
$retorno = array("status" => 2, "msg" => "Cadastro inexistente. O que está tentando fazer?");
echo json_encode($retorno);
exit;
}
Disabling works fine. The activate performs correct but displays twice the dialog to confirm. What would be wrong with the code?