Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, estou com uma pequena dúvida, pode parecer boba, mas não estou conseguindo desvendar essa coisinha chata, no arquivo onde fica o formulário pego com jquery e mando para o arquivo php
arquivo do formulario
<form action ="javascript:void(0)">
<input id="nome" placeholder="Digite seu nome"/>
<button onclick="funcaoalgumacoisa()">Cadastrar</button>
</form>
bla,bla....
agora, arquivo js
function cadastrarAdministrador(){
$.post('../require/jp/jpCadastrarAdministrador.php',{
nome:$('#nome').val()
},function(res){
var msg = $('#msg');
if(res){
msg.slideDown().html(res);
}else{
msg.html('Cadastro realizado com sucesso');
}
});
}
e o arquivo php que faz o CRUD e etc
<?php
extract($_POST);
"condições e CRUD etc bla bla bla..."
?>
agora, o curioso é que, tudo funciona, o CRUD e etc mas no JS ele não entra na condição else de jeito nenhum....ele retorna verdadeiro e entra no if, mas o else naõ quer conversa...................??????????? alguém....
Cara primeiro você não verifica o que vem do PHP.
Segundo, var msg = $('#msg'); sempre vai ser "true", então sempre vai entrar no "IF"
O que você deve fazer, é retornar um json do PHP para o JAVASCRIPT e daí sim fazer a condição.
//PÁGINA: jpCadastrarAdministrador.php
<?php
$sql = true;//AQUI VAI A SUA INSERÇÃO NO BANCO
if($sql){
$resultado = array("mensagem"=>"Cadastrado seu animal","status"=>"ok");
}else{
$resultado = array("mensagem"=>"Erro","status"=>"erro");
}
print json_encode($resultado);
No seu javascript/ajax coloque o parâmetro
dataType: "JSON"
exemplo:
$.ajax({
url: '../require/jp/jpCadastrarAdministrador.php',
type: "POST",
data: {
nome:$('#nome').val()
},
dataType: "JSON",
success: function (data) {
var obj = JSON.parse(data);
var msg = $('#msg');
if(obj.status == 'ok'){
//tudo lindo
msg.slideDown().html(obj.mensagem);
}else{
//m***** das grandes
msg.slideDown().html(obj.mensagem);
}
}
});
reveja a logica
se ele entra no IF entao ele nao tem que entrar no else