error with $ .ajax while reading php

1

I have the following file index.php that has 2 forms.

One of Login and one of registration

<?php

header("Content-Type: text/html; charset=utf-8");
/* Carrega as classes em tempo de execucao */

function __autoload($classe) {
    include_once "class/{$classe}.class.php";
}

$smarty = new Smarty;
$main = new Main();

if ($_POST) {

    if ($_POST['tipo'] == 'login') {
        /* carrega estrutura solucao frente ao exec() nao permitido no servidor */

        $login = addslashes($_POST['email']);
        $password = addslashes($_POST['password']);

        if (!empty($login) and ! empty($password)) {
            /* aplica salta no password */
            //$password = md5($password);

            /* verifica validacao */
            $usuario = $main->validarLogin($login, $password);

//            print_r($usuario);
//            exit;

            /* Se voce tiver permissao */
            if ($usuario['permissao']) {

                /* Joga estas variaveis para a sessao */
                $_SESSION['usuario']['nome'] = $usuario['nome'];
                $_SESSION['usuario']['empresa_cod'] = $usuario['empresa_cod'];
                $_SESSION['usuario']['usuario_cod'] = $usuario['cod'];
                $_SESSION['usuario']['email'] = $usuario['email'];

                $_SESSION["ultimoAcesso"] = date("Y-n-j H:i:s");

                /* Seta um cookie para o cliente */
                setcookie("planvet", $login, time() + 60 * 60 * 24 * 30);
                echo json_encode(array('status' => true, 'tipo' => 'permissao', 'msg' => "Autenticado com sucesso!"));
                exit;
            } elseif ($usuario['permissao'] == '' and $usuario['ativo'] == 'sim' or $usuario['perfil_cod'] != '1') {
                echo json_encode(array('status' => false, 'tipo' => 'login_incorreto', 'msg' => "Login ou Senha Incorretos!"));
                exit;
            } elseif ($usuario['ativo'] == 'nao' or $usuario['perfil_cod'] == '1') {
                echo json_encode(array('status' => false, 'tipo' => 'ativo', 'msg' => "Usuário Aguardando ativação ou desativado"));
                exit;
            }
        } else {
            echo json_encode(array('status' => false, 'tipo' => 'login_password_vazio', 'msg' => "Entre com <strong>usuário</strong> e a <strong>senha</strong>!"));
            exit;
        }
    }
    if ($_POST['tipo'] == 'cadastrar') {
        $usuario = $main->cadastrar($_POST);
        exit;
    }
}

$smarty->display('index.tpl');

And the htm index.tpl file

<!DOCTYPE html>
<html>
{include file='header.tpl'}
<body>
<div class="account-pages"></div>
<div class="clearfix"></div>
<div class="container-alt">
  <div class="row">
    <div class="col-sm-10 col-sm-offset-1">
      <div class="wrapper-page signup-signin-page">
        <div class="card-box">
          <div class="panel-heading">
            <h3 class="text-center"> Bem Vindo ao Portal do Cliente <strong class="text-custom">MetalCan</strong></h3>
          </div>
          <div class="panel-body">
            <div class="row">
              <div class="col-lg-6">
                <div class="p-20">
                  <h4><b>Entrar</b></h4>
                  <form class="form-horizontal m-t-20" id="form_usuario" name="form-login" method="POST">
                    <input type="hidden" name="tipo" value="login">
                    <div class="form-group ">
                      <div class="col-xs-12">
                        <input class="form-control" type="email" name="email" parsley-trigger="change" required name="login" placeholder="Email">
                      </div>
                    </div>
                    <div class="form-group">
                      <div class="col-xs-12">
                        <input class="form-control" type="password" required name="password" placeholder="Senha">
                      </div>
                    </div>
                    <div class="form-group ">
                      <div class="col-xs-12">
                        <div class="checkbox checkbox-primary">
                          <input id="checkbox-signin" type="checkbox">
                          <label for="checkbox-signin"> Lembrar me </label>
                        </div>
                      </div>
                    </div>
                    <div class="form-group text-right m-t-20">
                      <div class="col-xs-12">
                        <button class="btn btn-pink text-uppercase waves-effect waves-light w-sm btn-login" type="submit"> Entrar </button>
                      </div>
                    </div>
                    <div class="form-group m-t-20 m-b-0">
                      <div class="col-sm-12 text-right"> <a href="enviar-senha.php" class="text-dark"> Esqueceu sua senha?</a> </div>
                    </div>
                  </form>
                </div>
              </div>
              <div class="col-lg-6">
                <div class="p-20">
                  <h4><b>Cadastre-se</b></h4>
                  <form class="form-horizontal m-t-20" name="form-cadastro" id="form-cadastro" method="POST">
                    <input type="hidden" name="tipo" value="cadastrar">
                    <div class="form-group ">
                      <div class="col-xs-12">
                        <input class="form-control" type="email" required name="email" placeholder="Seu melhor Email">
                      </div>
                    </div>
                    <div class="form-group">
                      <div class="col-xs-12">
                        <input class="form-control" type="text" name="nome" required placeholder="Nome">
                      </div>
                    </div>
                    <div class="form-group">
                      <div class="col-xs-12">
                        <input class="form-control" type="password" required name="senha" placeholder="Senha">
                      </div>
                    </div>
                    <div class="form-group">
                      <div class="col-xs-12">
                        <div class="checkbox checkbox-primary">
                          <input id="checkbox-signup" type="checkbox" required checked="checked">
                          <label for="checkbox-signup">Aceito os <a href="#" id="termo" data-target="#termo-modal">Termos e Condições</a></label>
                        </div>
                      </div>
                    </div>
                    <div class="form-group text-right m-t-20 m-b-0">
                      <div class="col-xs-12">
                        <button class="btn btn-pink text-uppercase waves-effect waves-light w-sm btn-cadastrar" type="submit"> Cadastrar </button>
                      </div>
                    </div>
                  </form>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
<div id="termo-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Termos e Condições</h4>
      </div>
      <div class="modal-body"> Texto padrão </div>
    </div>
  </div>
</div>
<script>
            var resizefunc = [];
        </script> 

<!-- jQuery  --> 
<script src="assets/js/jquery.min.js"></script> 
<script src="assets/js/bootstrap.min.js"></script> 
<script src="assets/js/detect.js"></script> 
<script src="assets/js/fastclick.js"></script> 
<script src="assets/js/jquery.slimscroll.js"></script> 
<script src="assets/js/jquery.blockUI.js"></script> 
<script src="assets/js/waves.js"></script> 
<script src="assets/js/wow.min.js"></script> 
<script src="assets/js/jquery.nicescroll.js"></script> 
<script src="assets/js/jquery.scrollTo.min.js"></script> 
<script src="assets/plugins/notifyjs/dist/notify.min.js"></script> 
<script src="assets/plugins/notifications/notify-metro.js"></script> 
<script src="assets/js/jquery.core.js"></script> 
<script src="assets/js/jquery.app.js"></script> 
<script type="text/javascript" src="assets/plugins/parsleyjs/dist/parsley.js"></script> 
<script type="text/javascript">
            {literal}
                $(document).ready(function () {
                    $('form').parsley();

                    $('#form_usuario, #form-cadastro').submit(function () {
                        return false;
                    });

                    $('input[name=login]').focus();

                    $('.btn-login').click(function () {
                        $.ajax({
                            type: "POST",
                            url: "index.php",
                            data: $('#form_usuario').serializeArray(),
                            dataType: "json",
                            beforeSend: function () {

                            },
                            success: function (dados) {
                                if (dados.status) {
                                    $.Notification.notify('custom', 'top right', dados.msg);

                                    setTimeout(function () {
                                        $(location).attr("href", 'main.php');
                                    }, 2000);

                                } else {
                                    if (dados.tipo == 'login_incorreto') {
                                        $.Notification.notify('custom', 'top right', dados.msg)
                                    } else if (dados.tipo == 'login_password_vazio') {
                                        $.Notification.notify('custom', 'top right', dados.msg)
                                        $('.login-feedback').html(dados.msg).show();
                                    } else if (dados.tipo == 'ativo') {
                                        $.Notification.notify('custom', 'top right', dados.msg)
                                    }
                                    setTimeout(function () {
                                        $('.modal-footer').hide();
                                        $('.modal-body').removeClass('authing');
                                    }, 2000);
                                }
                            },
                            error: function () {
                            }
                        });
                    });

                    /*

                    $('.btn-cadastrar').click(function () {
                        $.ajax({
                            type: "POST",
                            url: "index.php",
                            data: $('#form-cadastro').serializeArray(),
                            dataType: "json",
                            beforeSend: function () {
                                alert(1);
                            },
                            success: function () {
                                alert(2);
                            },
                            error: function (dados) {
                                alert(3);
                            }
                        });     
                    });         

    */              
                $('.btn-cadastrar').click(function () {
                        var $form = jQuery('#form-cadastro'), data = $form.serializeArray();
                        $.ajax({
                            type: "POST",
                            url: "index.php",
                            data: data,
                            dataType: "json",
                            beforeSend: function () {
                            },
                            success: function (dados) {
                                if (dados.status == false) {
                                    $.Notification.notify('custom', 'top right', dados.msg)
                                } else {
                                    $.Notification.notify('custom', 'top right', 'Usuário Cadastrado com sucesso! Aguarde a confirmação')
                                }
                                if (dados.cadastro_cod != '') {
                                    $.ajax({
                                        type: "POST",
                                        url: "email/confirmacao.php",
                                        data: dados,
                                        dataType: "json",
                                        beforeSend: function () {
                                        },
                                        success: function (dados) {

                                            $.Notification.notify('custom', 'top right', 'Email Enviado com sucesso')

                                        },
                                        error: function () {
                                        }
                                    });

                                    setTimeout(function () {
                                        location.reload();
                                    }, 3000);
                                }


                            },
                            error: function () {
                            }
                        });
                    });

                    $('#termo').click(function () {
                        $('#termo-modal').modal('show')
                    });

                });
            {/literal}
        </script>
</body>
</html>

The login form works fine. But the registration is something peculiar: the browser returns me 200 OK but in the error clause: Thatis,whenIdo:

$('.btn-cadastrar').click(function(){$.ajax({type:"POST",
                    url: "index.php",
                    data: $('#form-cadastro').serializeArray(),
                    dataType: "json",
                    beforeSend: function () {
                        alert(1);
                    },
                    success: function (dados) {
                        alert(2);
                    },
                    error: function (dados) {
                        alert(3);
                    }
                });     
            }); 

Return is an error.

Where am I going wrong?

Additional:

public static function createInsert($tabela, $param, $replace = false) {

    $sql = 'INSERT INTO ' . $tabela . ' ';
    if ($replace) {
        $sql = 'REPLACE INTO ' . $tabela . ' SET ';
    }
    $cols = array();
    $rows = array();
    $fields = array();
    foreach ($param as $col => $row) {
        $cols[] = $col;
        $rows[] = (string) mysql_real_escape_string($row);
        if ($replace) {
            $fields[] = "{$col} = '" . mysql_real_escape_string($row) . "'";
        }
    }
    if (!$replace) {
        $sql .= '(' . implode(',', $cols) . ')';
        $sql .= ' VALUES ';
        $sql .= "('" . implode("','", $rows) . "')";
    } else {
        $sql .= implode(' AND ', $fields);
    }

    return $sql;
}

Class users

<?php

require_once "ModelBase.class.php";

class Usuarios extends ModelBase {

    public function cadastrar($dados) {

//        print_r($dados);
//        exit;

        $permissao = self::duplicidade($dados);
        if ($permissao) {

            $dados = array_filter($dados);

            unset($dados['tipo']);

            $dados['senha'] = md5($dados['senha']);

            $query = $this->createInsert('usuarios', $dados);
//            exit;
            $result = mysql_query($query, $this->conexao) or die(mysql_error());

            echo json_encode(array('dados' => $dados));
        } else {
            echo json_encode(array('status' => false, 'msg' => 'Usuário ja Cadastrado com esse email'));
            exit;
        }
    }

    public function duplicidade($dados) {

//        print_r($dados);
//        exit;

        /* retorna ocorrencia */
        $query = "select count(cod) as total from usuarios where email = '{$dados['email']}'";
        $query .= (isset($dados['cod']) && $dados['cod'] != '0') ? " AND cod <> '{$dados['cod']}'" : '';
        #Debug
//        echo $query;
//        exit;
        $res = mysql_query($query, $this->conexao) or die(mysql_error());
        while ($result = mysql_fetch_array($res)) {
            $total = $result['total'];
        }
        return !($total > 0);
    }

    public function buscaEmail($dados) {

        /* retorna ocorrencia */
        $query = "select count(cod) as total from usuarios where email = '{$dados['email']}'";
        $res = mysql_query($query, $this->conexao) or die(mysql_error());
        while ($result = mysql_fetch_array($res)) {
            $total = $result['total'];
        }
        return $total;
    }

    public function listar() {
        $query = "select * from usuarios";
        #Debug
        #echo $query;
        #exit;
        $res = mysql_query($query, $this->conexao) or die(mysql_error());
        while ($result = mysql_fetch_array($res, MYSQL_ASSOC)) {
            $dados[] = $result;
        }
        return $dados;
    }

    public function buscar($dados) {

        $query = "select * from usuarios where nome like '%%{$dados['nomeusuario']}%%'";
        $res = mysql_query($query, $this->conexao) or die(mysql_error());
        while ($result = mysql_fetch_array($res, MYSQL_ASSOC)) {
            $dado[] = $result;
        }
        return $dado;
    }

    public function editar($dados) {
        $query = "select * from usuarios where cod = '{$dados['cod']}'";
        $res = mysql_query($query, $this->conexao) or die(mysql_error());
        while ($result = mysql_fetch_array($res, MYSQL_ASSOC)) {
            $dado = $result;
        }
        echo json_encode(array('dados' => $dado));
    }

    public function editarSenha($dados) {
        $query = "select * from usuarios where email = '{$dados['email']}' limit 1";
        $res = mysql_query($query, $this->conexao) or die(mysql_error());
        while ($result = mysql_fetch_array($res, MYSQL_ASSOC)) {
            $dado = $result;
        }
        return $dado;
    }

    public function alterar($dados) {

        $dados = array_filter($dados);
        $cod = $dados['cod'];

        unset($dados['cod']);

        unset($dados['tipo']);

        if ($dados['senha'] != '') {
            $dados['senha'] = md5($dados['senha']);
        } else {
            unset($dados['senha']);
        }

        $query = $this->createUpdate('usuarios', $dados, array('cod' => $cod));
        $result = mysql_query($query, $this->conexao) or die(mysql_error());

        echo json_encode(array('dados' => $dados));
    }

    public function alterarSenha($dados) {

        $cod = $dados['cod'];

        unset($dados['cod']);

        unset($dados['tipo']);

        $dados['senha'] = md5($dados['senha']);

        $query = $this->createUpdate('usuarios', $dados, array('senha' => $cod));

        $result = mysql_query($query, $this->conexao) or die(mysql_error());

        echo json_encode(array('dados' => $dados));
    }

    public function deletar($dados) {

        $query = "select cod from arquivos_usuarios where usuario_cod = '{$dados['cod']}' limit 1";
        $res = mysql_query($query, $this->conexao) or die(mysql_error());
        while ($result = mysql_fetch_array($res, MYSQL_ASSOC)) {
            $dado = $result['cod'];
        }

        if ($dado != '') {
            $dado = 'nao';
        } else {
            $query = "delete from usuarios where cod = '{$dados['cod']}'";
            mysql_query($query, $this->conexao);

            $dado = 'sim';
        }


        echo json_encode($dado);
    }

}
    
asked by anonymous 20.09.2017 / 12:56

0 answers