Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''ajax''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 425 registros

  1. Kelven

    Mailchimp sem php

    Olá pessoal tudo bem? Então eu quero colocar um formulário de newsletter em um servidor q não tem suporte para php, o negócio é q depois que a pessoa clica em se cadastrar eu quero que ela seja redirecionada para outro site, então gostaria de saber como posso estar fazendo isso usando apenas javascript, jquery ou ajax com o API do Mailchimp? Porque já procurei muito e não achei, só achei em php.
  2. emersonandree

    Problemas com retorno AJAX(LARAVEL)

    <script type="text/javascript"> $(document).ready(function(){ $('#btn_busca_f').click(function () { var data_ini = $('#data_ini').val(); var data_fim = $('#data_fim').val(); var cod_recurso = $('#cod_recurso').val(); var cod_funcionario = $('#cod_funcionario').val(); var num_op = $('#num_op').val(); $.ajax({ type: 'post', async: false, url: '/intranet/ExportaFimApontamento', data:{ '_token': '{{csrf_token()}}', 'data_ini': data_ini, 'data_fim': data_fim, 'cod_recurso': cod_recurso, 'cod_funcionario': cod_funcionario, 'num_op': num_op }, erro: function () { alert('erro'); }, success: function (data) { return (data); alert('Excel Gerado com Sucesso!'); } }); }); }); </script> este script executa uma função no controller onde ele gera um arquivo excel.xls, porem se eu executar a função direto no controler ele funciona, se eu executar com o script ele funciona mas nao gera o arquivo.xls alguem sabe como posso fazer para que ele baixe o arquivo la na função?
  3. Olá a todos. Tenho um formulário que esta inserido em um código Bootstrap Modal. Quando os valores são inseridos nos campos input, o Ajax script passa esses valores para um arquivo php e retorna com um alert de sucesso. O que ocorre é que somente o alert aparece, porém quando clica no botão OK deste alerta o Modal não fecha. Abaixo segue o código do popup Modal e o script Ajax: <button type="button" class="btn btn-block btn-primary" data-toggle="modal" data-target="#dataModal"></button> <!-- Modal --> <div class="modal fade" id="dataModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" >Adicionar dados</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <form id="usersform" method="post"> <input type="text" name="nome" id="nome"/> <input type="email" name="email" id="email"/> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">CANCELAR</button> <button type="submit" class="btn btn-success" id="submit" >ADD USER</button> </form> </div> </div> </div> </div> E abaixo segue o Ajax script ao qual faz a passagem dos valores input para o arquivo insert.php que no caso funciona corretamente inserindo os dados no banco de dados: <script> $(document).on('submit', '#usersform', function(event){ event.preventDefault(); $.ajax({ url:"insert.php", method:'POST', data:new FormData(this), contentType:false, processData:false, success:function(data){ alert("Cadastro realizado com sucesso!"); $("#usersform")[0].reset(); $("#dataModal").modal('hide'); } }); }); </script> O que ocorre é que o popup Modal não fecha apesar do código $("#dataModal").modal('hide'); estar após o alert e nem "zera" os campos após o resultado de sucesso. Os dados são inseridos normalmente após clicar no "ok" da tela de mensagem do alert. O que pode ser? Obrigado.
  4. Soneca_BO

    CRUD na Linguagem TM1

    Boa tarde Pessoal! Estou a um bom tempo tetando fazer um CRUD em um banco de dados não tradicional e sim do "Cognos tm1", Estou fazendo uma aplicação WEB e queria usar o Ajax com jquery e javascript(dependendo do caso) para fazer um CRUD salvando dados deletando e fazendo as devidas atualizações, mas não estou conseguindo fazer o "PUT" e nem o "DELETE", E não faço ideia de como começar a escrever o código para os métodos informados acima. Segue código criado para fazer o GET (só conseguir fazer o GET) $.ajax({ username: 'admin', password: ' ', url: "http://localhost:8881/api/v1/Cubes('ACO.200.Despesas')/Views('visao')/tm1.Execute?$expand=Cube($select=Name;$expand=Dimensions($select=Name)),Axes($expand=Tuples($expand=Members($select=Name;$expand=Element($select=UniqueName)))),Cells", method: 'POST', headers: { "Authorization": "Basic YWRtaW46", "cache-control": "no-cache", }, contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { console.log(data); }, error: function () { alert("erro"); } }); Obs.: não sou muito bom em rest e estou buscando aprender mais sobre ele, se alguém poder me ajudar agradeceria muito. Desde já agradeço alguém que conseguir me da uma força.
  5. gsinhorini

    Validação JSON

    Olá! Bom dia pessoal tudo bem? Estou com uma dúvida, estou fazendo um requerimento em Ajax para pegar algumas informações e preencher alguns campos até ai tudo bem. A minha dúvida é o seguinte eu preciso fazer uma validação em um select como eu posso fazer isso. Eu criei um variável output que recebe as informações e monta o html, tenho que fazer a validação dentro do output. Vou colocar o código. Muito obrigado pela atenção. $('#btn_problema').on('click', function () { var codigo_sac = $(this).attr('data-codigo'); console.log(codigo_sac); $.ajax({ type: "GET", url:'buscarProblema?codigo='+codigo_sac, dataType: "html", async:false, success: function (data) { console.log(data); var dados = JSON.parse(data); output = ""; $('#descricao-problema').val(dados.descricao); $('#Etapa02_codigo_sac').val(dados.codigo_sac); if (dados["debitos"] != null) { $.each(dados.debitos, function (i, item) { if (item.tipo == 1) { output += '<div class="col-md-12"><div class="col-md-2"><div class="form-group text-center"><label class="control-label">Tipo<!-- <span class="required"> * </span> --></label><div class=""><select class="form-control select2me" disabled><option value="">Selecione...</option><option value="1" selected > Débitos </option></select></div></div></div><div class="col-md-3"><div class="form-group text-center"><label class="control-label uppercase">Descrição:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="text" class="form-control text-center" value="'+item.descricao+'" /></div></div></div></div><div class="col-md-3"><div class="form-group text-center"><label class="control-label uppercase">Data:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="date" class="form-control text-center" value="'+item.data+'" /></div></div></div></div><div class="col-md-2"><div class="form-group text-center"><label class="control-label uppercase">Valor:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="text" class="form-control text-center" name="" id="" value="R$ '+item.valor+'" /></div></div></div></div><div class="col-md-2"><div class="form-group text-center"><label class="control-label">Ação<span class="required"> * </span></label><div class=""><select class="form-control select2me acao_debitos" data-codigo="item.codigo"><option value="">Selecione...</option><option value="1"> Sim </option><option value="2"> Não </option></select></div></div></div></div>'; } if (item.tipo == 2) { output += '<div class="col-md-12"><div class="col-md-2"><div class="form-group text-center"><label class="control-label">Tipo<!-- <span class="required"> * </span> --></label><div class=""><select class="form-control select2me" disabled><option value="">Selecione...</option><option value="2" selected > Multa </option></select></div></div></div> <div class="col-md-3"><div class="form-group text-center"><label class="control-label uppercase">Data:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="date" class="form-control text-center" value="'+item.data+'" /></div></div></div></div><div class="col-md-2"><div class="form-group text-center"><label class="control-label uppercase">Valor:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="text" class="form-control text-center" name="" id="" value="'+item.valor+'" /></div></div></div></div><div class="col-md-3"><div class="form-group text-center"><label class="control-label uppercase">AIT:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="text" class="form-control text-center" value="RS'+item.ait+'" /></div></div></div></div><div class="col-md-2"><div class="form-group text-center"><label class="control-label">Aprovação<span class="required"> * </span></label><div class=""><select class="form-control select2me acao_debitos" data-codigo="item.codigo"><option value="">Selecione...</option><option value="1"> Sim </option><option value="2"> Não </option></select></div></div></div></div>'; } $("#problema-debitos").html(output); $("#problema-debitos").trigger('chosen:updated'); }); } } }); });
  6. MatheusH

    Problema em Formulário com AJAX

    Olá, alguém pode me ajudar? Fiz um formulário que enviará as informações via ajax no banco de dados. Ocorre tudo bem sem erro, mas não cria nada no banco de dados. Obs: todas a conexão com o banco está certo. Form.html <html> <head> <title> </title> </head> <body> <form id="formulario_ajax"> <label>Nome</label> <input type="text" name="nome"> <label>Cidade</label> <input type="text" name="cidade"> <label>CEP</label> <input type="text" name="cep"> <input type="submit" name="Enviar"> </form> <script src="jquery.js"></script> <script> $('#formulario_ajax').submit(function(e){ e.preventDefaut(); var formulario = $(this); var retorno = inserirDados(formulario) }); function inserirDados(dados){ $.ajax({ type:"POST", data:dados.serialize(), url:"executa.php", async:false }).then(sucesso, falha); function sucesso(data){ console.log(data); } function falha(){ console.log("erro"); } } </script> </body> </html> executa.php <?php $server = "localhost"; $login = "root"; $senha = "root"; $db = "formulario"; $conn = mysqli_connect($server, $login, $senha, $db); $nome = $_POST['nome']; $cidade = $_POST['cidade']; $cep = $_POST['cep']; $sql = "INSERT INTO cadastro"; $sql .= "(nome, cidade, cep)"; $sql .= "VALUES"; $sql .= "('$nome', '$cidade', '$sql')"; if(mysqli_query($conn, $sql)){ echo "Inserido com sucesso!"; }else{ echo "Error!"; } mysqli_close($conn); ?> Alguém sabe porque não ta funcionando?ou se tem algum erro no código?
  7. Cabrini

    percorrendo JSON COM AJAX

    Ola galera , estou com um probleminha . não consigo encontrar o erro no meu codigo : mostraDados/request.onreadystatechange mostra dados que é minha funçao. for (var propriedade in dados) { if (typeof dados[propriedade] !== 'object') { for(var i=0; i<dados.length ; i++){ var nome = dados.nome; var idade = dados.idade; var profissao = dados.profissao; var esporte = dados.esporte; container.innerHTML += '<td>'+nome + '</td>'+ '<td>'+idade + '</td>'+ '<td>'+profissao + '</td>'+ '<td>'+esporte + '</td>'; no console o erro aponto para a linha em negrito .
  8. Jonas Ribeiro Nascimento

    Mvc Php + Ajax não consigo passar return json_encode para o response do ajax

    Ola a todos e agradeço desde já Tenha a classe de validação do form onde pega todos os erros do form: // Validação final do cadastro public function validateFinalCadastro($arrVar) { if(count($this->getErro())>0){ $arrResponse=[ "retorno"=>"erro", "erros"=>$this->getErro() ]; }else{ $arrResponse=[ "retorno"=>"success", "erros"=>null ]; } return json_encode($arrResponse, JSON_UNESCAPED_UNICODE); } Aqui tenho o Controller que passa para view: public function teste() { //echo 'esse é um teste'; $this->recVariaveis(); $validate = new ClassValidate(); $validate->validateFields($_POST); $validate->validateEmail($this->Email); $validate->validateIssetEmail($this->Email); $validate->validateData($this->DataNascimento); $validate->validateCpf($this->Cpf); $validate->validateConfSenha($this->Senha,$this->SenhaConf); $validate->validateStrongSenha($this->Senha); $validate->validateCaptcha($this->gRecaptchaResponse); $validate->validateFinalCadastro($this->arrVar); } Se eu dar um echo, print ou vardump na $validate->validateFinalCadastro($this->arrVar); consigo passar ela pra view e apresentar o erro ...ele apresenta depois do fechamento do html da pagina... {"retorno":"erro","erros":["Email já cadastrado!","Utilize uma senha mais forte!","Sistema de segurança foi ativado! Atualize a página e tente novamente ou aguarde mais um pouco."]} Aqui esta o ajax sem datatype: 'json' Sem datatype: 'json' eu entro no success reponse mais caio no else, porque o response.retorno esta sem o datatype: 'json'. $('#FormCadastroClientes').on('submit', function(event){ event.preventDefault(); var dados=$(this).serialize(); console.log(dados); $.ajax({ url: getRoot()+'CadastroClientes/teste', type: 'post', contentType: "application/x-www-form-urlencoded;charset=UTF-8", data: dados, success: function (response) { $('.retornoCad').empty(); if(response.retorno == 'erro'){ getCaptcha(); $.each(response.erros,function(key,value){ $('.retornoCad').append(value+''); }); }else{ $('.retornoCad').append('Dados inseridos com sucesso!'); } }, error: function (response, jqXHR, request, status, errorThrown, erro) { console.log(response); //alert(dados); console.log(dados); //alert(jqXHR); console.log(jqXHR); //alert(request); console.log(request); //alert(status); console.log(status); //alert(errorThrown); console.log(errorThrown); //alert(erro); console.log(erro); }, complete: function (jqXHR, textStatus) { //colocar aqui algo que deseja que faça ao terminar todo o processo (finnaly) } }); Ajax com datatype: 'json' nao consigo entrar no success ele já cai no erro $('#FormCadastroClientes').on('submit', function(event){ event.preventDefault(); var dados=$(this).serialize(); console.log(dados); $.ajax({ url: getRoot()+'CadastroClientes/teste', type: 'post', dataType: 'json', data: dados, success: function (response) { $('.retornoCad').empty(); if(response.retorno == 'erro'){ getCaptcha(); $.each(response.erros,function(key,value){ $('.retornoCad').append(value+''); }); }else{ $('.retornoCad').append('Dados inseridos com sucesso!'); } }, error: function (response, jqXHR, request, status, errorThrown, erro) { console.log(response); //alert(dados); console.log(dados); //alert(jqXHR); console.log(jqXHR); //alert(request); console.log(request); //alert(status); console.log(status); //alert(errorThrown); console.log(errorThrown); //alert(erro); console.log(erro); }, complete: function (jqXHR, textStatus) { //colocar aqui algo que deseja que faça ao terminar todo o processo (finnaly) } }); Observações: - Consigo inserir no banco tudo ok. - Consigo apresentar o rertun json_encode direto na view - Consigo entrar no success do ajax sem usar datatype: 'json' não entro no if para ler o array mais entro no else. Eu recebo esse erros no console.log No response eu teria que receber o return do json_encode e não recebo. O que eu recebo é o html da view. O ajax esta esperando um retorno em json e nao o html da pagina. parsererror SyntaxError: "JSON.parse: unexpected character at line 1 column 1 of the JSON data" Obrigado a todos.....atecipadamente
  9. Olá, queria saber qual é a melhor forma de armazenar o id vindo da db para usar posteriormente para fazer outra requisição, delete ou put por exemplo. Segue um exemplo: A parte do jquery com requisição pelo ajax: $("form").on("submit", ()=>{ $.ajax({ type: "DELETE", url: "http://localhost:3000/admin/users", data: {user: >>Aqui eu quero transmitir o valor do id que veio na bd<< } ,success: (data)=>{ console.log("Tudo ok"); } }); }); <tbody> <% for(var i=0; i<data.length;i++){ %> <tr> <th scope="row"><%=i%></th> <td class="user"><%= data[i].user; %></td> <td><%= data[i].password; %></td> <td><i class="fas fa-user-minus"></i>>>Quando clicar neste botão quero transmitir o id ou no caso o user que veio da db mas não sei qual a melhor forma de armazenar o id da row. Não acho muito seguro armezar em algum atributo HTML.</td> </tr> <% } %> <tr> </tbody> E acima pegando os valores pelo ejs.
  10. Gente, estou precisando converter uma variável javascript em PHP para usar numa consulta SELECT WHERE. Tentei usar <script>var olamundo = 1;</script><?php$teste = '<script>document.write(olamundo)</script>';?>Usando em consulta select não funciona. Sei que via ajax é possível mas não manjo de ajax. Se alguém puder me ajudar!
  11. alexandre_rangel

    [Resolvido] Exibir Consulta SQL via ajax

    Meus amigos estou tentando resolver um problema, mais se eu resolver esse consigo resolver os outros. Quero que mostre o resultado de uma consulta sql, até agora nao consegui, alguem tem uma ideia? Tenho o arquivo principal e o ajax lê um outro php que nele tem a consulta, e deveria trazer o resultado (sem refresh) ele até traz html mais nao traz o resultado da consulta sql Arquivo /pages/retorna_informacoes.php <?php include ('includes/db.php'); $GetList6 = "SELECT * FROM COPD09 ORDER BY Data_EMP DESC"; $GetListCategory6 = mysqli_query($mysqli,$GetList6); while($col6 = mysqli_fetch_assoc($GetListCategory6)){ $id = $col6['ID']; $cd_1 = $col6['DESC_CREDOR']; $cd_2 = $col6['VL_EMP']; $cd_3 = $col6['ANO']; $cd_4 = $col6['CVAVE_EMP']; echo("$cd_1"); } ?> Arquivo Principal <button id ='CCXP_BTN'>Enviar Nome</button> <div id="CCXP"> </div> Script do Arquivo Principal <script type="text/javascript"> $("#CCXP_BTN").click(function(){ $.ajax({ url:"/pages/retorna_informacoes.php", type:"POST", data: ({}), // não está enviando nenhuma informação, quero apenas buscar o conteudo do retorna_informacoes.php success:function(resposta){ $('#CCXP').html(resposta); } }); }); </script>
  12. Olá meus Jovens, trazendo um tópico aqui pra quem quer criar um formulário para contato quando para cadastro de usuário ou outra coisa sem atualizar a página! Primeiramente Vamos criar nosso formulário <form id="envia_msg" action="" method="POST"> <input type="text" name="nome" placeholder="Nome..." required> <br /> <input type="text" name="email" placeholder="E-mail..." required> <br> <textarea name="msg" placeholder="Sua Mensagem..." required></textarea> <br /> <button type="submit" >Enviar</button> </form> <p id="resultado"></p> Dei o id para o form e deixei a ação em branco usando o method POST .. Muito importante essas configurações. Vocês devem ter reparado o paragrafo em baixo do Form, este paragrafo é aonde ira aparecer a mensagem para o usuário caso ocorra tudo certo, e ele também recebeu um id. Agora vamos incluir o Jquery em nossa página, sem ele não funciona, vai por mim!!! <script type="text/javascript" href="https://code.jquery.com/jquery-3.2.1.min.js" ></script> Agora vamos pro Javascript, o javascript vai ter a função de enviar os dados e mostrar a mensagem! $(function(){ $('#envia_msg').submit(function(event){ event.preventDefault(); var formDados = new FormData($(this)[0]); $.ajax({ url:'envia_msg.php', type:'POST', data:formDados, cache:false, contentType:false, processData:false, success:function (data) {document.getElementById('resultado').innerHTML = 'Enviado! Em breve Entraremos em contato.'; $('#envia_msg').each (function(){ this.reset(); }); }, dataType:'html' }); return false; }); }); Então apos o formulario que tem o id envia_msg for submetido ele cria uma função event que pega os dados do formulario, e passa para o $.ajax enviar os dados para a página envia_msg.php que ainda vamos criar, apos enviado o success entra em ação criando uma niva function, que mostra a mensagem "Enviado! Em breve entraremos em contato."... e Pronto dados enviado sem atualizar a página! --- A Parte "dificil foi feita" -- Agora vamos tratar com carinho os dados enviado para a página envia_msg.php vamos recebe-los e inserir no banco de dados. isso com , a linguagem mais top de todas!! PHP kkk <?php $host = "localhost"; $user = "root"; $senha = ""; $db = "tabela"; $conn = mysqli_connect($host, $user, $senha, $db); $nome = $_POST['nome']; $email = $_POST['email']; $msg = $_POST['msg']; $sql = "INSERT INTO `contato` (`nome`,`email`,`msg`) VALUES ('{$nome}','{$email}','{$msg}')"; $conn->query($sql); ?> E PRONTO CABOUUU!! VAALLEEUUU
  13. ghlevin

    Site responsivo - Problemas com SELECT e INPUT

    Estou fazendo modificações no site de um cliente, tornando-o responsivo. Tive que fazer várias mudanças de layout que me foram enviadas por um fornecedor e, por causa dessas mudanças, algumas funções Javascript e PHP que eu tinha não funcionam no layout novo. Em uma delas, eu tenho dois filtros de data e local (unidade ou empresa). O de data é uma INPUT e o de unidades é um SELECT. Vou colocar o código da view abaixo: <form class="rd-mailform text-left" data-form-output="form-output-global" data-form-type="contact" method="post" novalidate="novalidate"> <p class="mobile-hide">Selecione abaixo os par&acirc;metros para visualiza&ccedil;&atilde;o.&nbsp;Se desejar salvar,&nbsp;enviar por e-mail ou imprimir,&nbsp;clique em&nbsp;'Gerar PDF'&nbsp;ou&nbsp;'Gerar Excel'.</p> <!--<div class="range range-xs-center" style="margin: 0px !important;">--> <div class="cell-sm-6"> <div class="form-group form-group-label-outside"> <label class="form-label form-label-outside text-dark rd-input-label" for="data-relatorio">Data</label> <input class="form-control form-control-last-child" id="data-relatorio" type="text" name="first-name" > </div> </div> <div class="cell-sm-6 offset-top-20 offset-sm-top-0"> <div class="form-group form-group-label-outside"> <label class="form-label form-label-outside text-dark rd-input-label" for="comboUnidades"> Unidade </label> <select id="comboUnidades" class="form-control select2-multiple" data-minimum-results-for-search="Infinity"> </select> </div> </div> <div style="width: 100%"> <div style="position: relative; float: left; padding: 5px" onclick="montaPDF()"><a class="btn btn-ellipse btn-java" href="#">GERAR PDF</a></div> <div style="position: relative; float: left; padding: 5px" onclick="montaExcel()" class="mobile-hide"><a class="btn btn-ellipse btn-java" href="#">GERAR EXCEL</a></div> </div> </form> Abaixo parte do código do arquivo JS que mostra como eram carregados esses filtros. O de data usa originalmente uma função datepicker, que não funciona no layout atual. E o das unidades usa uma função AJAX pra colocar todas as opções que vem do banco MySQL do site dentro do select comboUnidades: $(document).ready(function(){ showLoading(); var d = new Date(); d.setDate(d.getDate() - 1); $('#data-relatorio').datepicker({ dateFormat: "dd/mm/yy", maxDate: d }); $("#data-relatorio").datepicker('setDate',d); var param = location.href.split("?")[1]; if(typeof param != "undefined" ) { var unidade = param.split('=')[1]; } $.ajax({ async: false, url: '[:raiz]acompanhamentoDiario/getUnidades', dataType: 'json', success: function(data) { if (data.length > 0){ var retorno = ""; for(var i = 0;i < data.length; i++){ retorno += "<option value='"+data[i]['id']+"'>"+data[i]['newnome']+"</option>"; } $('#comboUnidades').html(retorno); if(typeof param != "undefined" ) { $('#comboUnidades option[value='+unidade+']').attr('selected', 'selected'); $('#comboUnidades').trigger('change'); } } else { } } }); $('#data-relatorio').change(function(){ montaTabela(); }); $('#comboUnidades').change(function(){ montaTabela(); }); var d = new Date(); $('#divTabela').hide(); montaTabela(); hideLoading(); }); Essa função chamada no AJAX se encontra num arquivo de Controller: public function getUnidades() { $acompanhamento = new AcompanhamentoDiario(); $retorno = $acompanhamento->getUnidadesUsuario(); echo json_encode($retorno); } Por sua vez, essa função do controller chama uma função em PHP que se encontra num arquivo da minha pasta Model do site. Ele traz as unidades do select dependendo do login do usuário: public function getUnidadesUsuario() { $idUser = Login::retornaIdUser(); $perfilAcesso = Login::retornaPerfilAcesso(); if(($perfilAcesso == 1) || ($perfilAcesso == 6)) { // Colocado o perfil 6 do Usuário de Demonstração /* se perfil de usuairo = 1*/ $sql = "SELECT u.*,concat(e.sigla,' - ',u.nome) as newnome"; $sql .= " FROM unidade u INNER JOIN cidade c ON u.CIDADE = c.id INNER JOIN estado e ON u.ESTADO = e.id"; $sql .= " join usuario_unidade uu on (uu.id_unidade = u.id)"; $sql .= " WHERE u.ind_unidade_ativa = 1 AND u.ind_predio_novo = 0"; $sql .= " and uu.id_usuario = $idUser and lower(uu.ind_tipo_investidor) != 'c' ORDER BY newnome ASC"; } elseif($perfilAcesso == 2) { /* se perfil de usuairo = 2*/ $sql = "SELECT u.*,concat(e.sigla,' - ',u.nome) as newnome"; $sql .= " FROM unidade u INNER JOIN cidade c ON u.CIDADE = c.id INNER JOIN estado e ON u.ESTADO = e.id"; $sql .= " join administrador adm on (adm.id_unidade = u.id)"; $sql .= " WHERE u.ind_predio_novo = 0"; $sql .= " and adm.id_usuario = $idUser and adm.id_usuario NOT IN (3124,4378)"; $sql .= " ORDER BY newnome ASC"; } else { /* se perfil de usuario = 3*/ $sql = "SELECT u.*,concat(e.sigla,' - ',u.nome) as newnome"; $sql .= " FROM unidade u INNER JOIN cidade c ON u.CIDADE = c.id INNER JOIN estado e ON u.ESTADO = e.id"; $sql .= " WHERE u.ind_predio_novo = 0 ORDER BY newnome ASC"; } $res = parent::executaQuery($sql); return $res; } A função montaTabela(), por ora, ainda não quero modificar, por isso não vou mostrar como ela é. Ela é executada na página dependendo da mudança dos filtros. Por ora, eu só queria saber como "popular" o select comboUnidades e como funcionar o filtro de data data-relatorio de forma semelhante ao datePicker.
  14. Paulo Ladeira

    Javascript não envia parâmetro ao 'data' do Ajax

    Qual o problema nas instruções de envio ao parâmetro data do Ajax? Já fiz outro teste com a tag input e deu certo! Já com o texto, não vai...! <div class="container-fluid"> <div class="row"> <div class="col-md-2"></div> <div class="col-md-8"> <form method="POST" id="seleciona"> <a href="#" name="acessorio1">VIDRO ELÉTRICO</a><br /> <a href="#" name="acessorio2">AR CONDICIONADO</a><br /> <input type="submit" value="Submit"> </form> </div> </div> </div> <div class="div"></div> $(document).ready(function(){ $("#seleciona a").click(function() { var txt = $(this).serialize(); $.ajax({ type:'POST', url:'ajax3.php', data: txt, success:function(resultado) { $('.div').html("Resultado: "+resultado); }, error:function() { alert("ocorreu um erro"); } }); }); }); [ ajax3.php ] <?php echo $_POST['acessorio1']; echo $_POST['acessorio2']; ?>
  15. Gustavo2503

    O que há de errado com o meu código?

    O que há de errado com o meu código jQuery? function atualizaItens45() { $.ajax({ url: 'tb_itens.php', type: 'POST', data: { id: 45, valor: '1800.00' }, beforeSend: function (){ $('.carregando').fadeIn(); document.title = 'carregando...'; }, complete: function (){ $('.carregando').fadeOut(); document.title = 'TÍTULO'; }, success: function (data) { $('#tabela-itens-info-45 tbody').html(data); $('#tabela-itens-edita-45 tbody').html(data); }, error: function (request, status, erro) { alert('Erro! Por favor entre em contato conosco (COD: 1801)'); } }); } atualizaItens45();
  16. Paulo Ladeira

    Serialize() não retorna valor para o Ajax !

    Caros, Tenho que informar que estou começando nessa realidade! Tentei, mas não deu certo..! <div class="container-fluid"> <form method="POST" id="seleciona"> <?php $sql = "SELECT * FROM $arquivo_cd"; $result_cd = mysqli_query($strcon,$sql); while ($row = mysqli_fetch_array($result_cd)) { $acessorio = utf8_encode($row['cad_acessorios_descricao']); echo "<label class='box' name='acessorio'>&nbsp;&nbsp;$acessorio<br> <input type='checkbox'> <span class='checkmark'></span> </label>"; } ?> </form> </div> $(function() { $('#seleciona').bind('click', function(e) { e.preventDefault(); var txt = $(this).serialize(); console.log(txt); $.ajax({ type:'POST', url:'ajax2.php', data: txt, success:function(resultado) { $('.div').html("Resultado: "+resultado); }, error:function() { alert("ocorreu um erro"); } }); }); }); [ ajax2.php ] <?php $acc = $_POST['acessorio']; echo $acc; ?>
  17. Paulo Ladeira

    Seleciono item no dropdown e não mostra no console.log

    Seleciono um item e não mostra nada pelo comando console.log. Não mostra a .div . Estou achando que está no evento de 'Click'. Podem me ajudar a resolver esse problema? <?php include "conexao_veiculos.php"; ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb18030"> <title>ladd</title> <style> .div { width: 400px; height:100px; background-color: #c1c3c0; } </style> <meta name="viewport" content="width=device-width, initial-scale=1,shrink-to-fit=no"> <link href="https://fonts.googleapis.com/css?family=Quicksand" rel="stylesheet"> <link href="a://fonts.googleapis.com/css?family=Syncopate" rel="stylesheet"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> <link rel="stylesheet" href="../css/veiculos2.css"/> </head> <body> <nav class="navbar navbar-expand-lg sticky-top navbar-dark" style="background-color: #000000";> <h3 class="cfg-logo-syncpl"><span style="color:#ffffff";><b>LADD</b></spam><spam class="autm"><b>Autom贸veis</b></span></h3> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSite"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSite" > <ul class="navbar-nav ml-auto"> <li class="nav-item"><a class="nav-link active" href="#" >HOME</a></li> <li class="nav-item"><a class="nav-link" href="#contato" >CONTATO</a></li> </ul> </div> </nav> <?php $arquivo_cd = "tb_cadastro_acessorios"; ?> <div class="container-fluid"> <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">Acessorios</button> <form method="GET" id="seleciona"> <div class="dropdown"> <div class="dropdown-menu" style="font-size:14px";> <?php $sql = "SELECT * FROM $arquivo_cd"; $result_cd = mysqli_query($strcon,$sql); while ($row = mysqli_fetch_array($result_cd)) { $acessorio = utf8_encode($row['cad_acessorios_descricao']); echo "<a href='#' class='dropdown-item' name='acessorio' style='color: #000000';>$acessorio<br></a>"; } ?> </div> </div> </form> </div> <script> $(function() { $('#seleciona').bind('click', function(e) { e.preventDefault(); var txt = $(this).serialize(); console.log(txt); $.ajax({ type:'GET', url:'ajax.php', data: txt, success:function(resultado) { $('.div').html(resultado); }, error:function() { alert("ocorreu um erro"); } }); }); }); </script> </body> </html> (ajax.php) <?php $acessorio = $_GET['acessorio']; echo $acessorio; ?>
  18. Victor Hugo Soares

    Sistema PHP MVC com Ajax

    Olá a todos, estou com um probleminha e já revirei de todos os lados e não consegui o login em ajax funciona perfeitamente, porém a recuperação de senha não está dando certo :( minha aplicação tem a seguinte estrutura de diretórios: |-aplicacao_site |-aplicacao_site/core/Aplicacao.php |-aplicacao_site/core/Controlador.php |-aplicacao_site/core/View.php |-aplicacao_site/libs/Helper.php |-aplicacao_site/model/Model.php |-aplicacao_site/view/_templates/cabecalho.php |-aplicacao_site/view/_templates/menu.php |-aplicacao_site/view/_templates/rodape.php |-aplicacao_site/controller/Login.php |-aplicacao_site/view/Login/index.php |-aplicacao_site/view/Login/recuperacaoSenha.php |-publico |-publico/site |-publico/site/index.php ->primeiro arquivo a ser executado |-publico/site/ajax.php |-publico/site/.htaccess |-publico/site/vendor/autoload.php |-publico/site/vendor/jquery/jquery.min.js |-publico/site/vendor/jquery/jquery.validate.min.js |-publico/site/js/login.js |-publico/site/js/RecuperaSenha.js Vamos aos códigos: Obs: arroba é o nome do site; |-publico/site/.htaccess <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /arroba/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> |-publico/site/index.php <?php date_default_timezone_set( "America/Sao_Paulo" ); try { require 'definicoes.php'; // This is the (totally optional) auto-loader for Composer-dependencies (to load tools into your project). // If you have no idea what this means: Don't worry, you don't need it, simply leave it like it is. if ( file_exists( ARROBA . 'vendor/autoload.php' ) ) { require ARROBA . 'vendor/autoload.php'; } // load application config (error reporting etc.) require APP . 'config/config.php'; $app = \core\Aplicacao::INSTANCIA(); $app->Inicia(); } catch ( Exception $e ){ echo '<br /> Erro na execução do sistema <br />'; echo $e->getMessage(); } |-publico/site/vendor/autoload.php <?php spl_autoload_register( function( $className ){ $className = str_replace("\\", "/" , $className . '.php'); $className = APP . $className; if ( file_exists( $className ) ){ require_once ( $className ); } else { //echo '<br /> Não será carregada automaticamente <br />'; } } ); |-publico/site/js/login.js var formulario = "#FrmLogin"; var formulario2 = "#FrmRecuperaSenha"; function InicializaValidacao(){ $( formulario ).validate({ rules: { email:{ required: true, email: true }, senha:{ required: true } }, messages:{ email:{ required: "Por favor preencha o Email", email: "Por favor preencha com um Email válido!" }, senha:{ required: "Por favor preencha a Senha" } }, highlight: function(element){ $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); }, unhighlight: function(element){ $(element).closest('.form-group').removeClass('has-error').addClass('has-success'); }, //função chamada caso os dados estejam de acordo submitHandler: function(form){ $.ajax({ type: "post", url: "ajax.php", dataType: "html", data: $(formulario).serialize(), beforeSend: function(data){ }, complete: function(){ }, success: function(data){ var retorno = $.parseJSON( data ); if( retorno.sucesso ){ window.location.assign( 'inicio' ); }else{ //console.log( 'Falhou' ); $( '#myModal' ).find('#myModalLabel').html( 'Problema na autenticação' ); $( '#myModal' ).find('.modal-body').html( retorno.errMsg ); $( '#myModal' ).modal( 'show' ); } }, error: function(){ //console.log( 'Erro' ); } }); } }); } $( document ).ready( function(){ InicializaValidacao(); }); |-publico/site/js/RecuperaSenha.js var formulario = "#FrmRecuperaSenha"; function InicializaValidacao(){ $( formulario ).validate({ rules: { email:{ required: true, email: true } }, messages:{ email:{ required: "Por favor preencha o Email", email: "Por favor preencha com um Email válido!" } }, highlight: function(element){ $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); }, unhighlight: function(element){ $(element).closest('.form-group').removeClass('has-error').addClass('has-success'); }, //função chamada caso os dados estejam de acordo submitHandler: function(form){ $.ajax({ type: "post", url: "ajax.php", dataType: "html", data: $( formulario ).serialize(), beforeSend: function(data){}, complete: function(){}, success: function(data){ console.log( data ); var retorno = $.parseJSON( data ); if( retorno.sucesso ){ $( '#myModal' ).find('#myModalLabel').html( 'Problema na autenticação' ); $( '#myModal' ).find('.modal-body').html( retorno.errMsg ); $( '#myModal' ).modal( 'show' ); }else{ //console.log( 'Falhou' ); $( '#myModal' ).find('#myModalLabel').html( 'Problema na autenticação' ); $( '#myModal' ).find('.modal-body').html( retorno.errMsg ); $( '#myModal' ).modal( 'show' ); } }, error: function(){ window.location.assign( 'problem' ); } }); } }); } $( document ).ready( function(){ InicializaValidacao(); }); |-aplicacao_site/core/Aplicacao.php <?php namespace core; class Aplicacao { /** @var null The controller */ private $url_controller = null; /** @var null The method (of the above controller), often also named "action" */ private $url_action = null; /** @var array URL parameters */ private $url_params = array(); /** * Instancia da classe * @var Aplicacao */ private static $instancia; /** * "Start" the application: * Analyze the URL elements and calls the according controller/method or the fallback */ public function __construct() { // create array with URL parts in $url $this->splitUrl(); } public function Inicia(){ // check for controller: no controller given ? then load start-page if ( !$this->url_controller ) { $page = new \controller\Inicio(); $page->index(); } elseif ( file_exists( APP . str_replace( '\\', '/' , $this->url_controller ) . '.php' ) ) { // here we did check for controller: does such a controller exist ? // if so, then load this file and create this controller // example: if controller would be "car", then this line would translate into: $this->car = new car(); //require APP . 'controller/' . $this->url_controller . '.php'; $this->url_controller = new $this->url_controller(); // check for method: does such a method exist in the controller ? if ( method_exists( $this->url_controller, $this->url_action ) ) { if ( !empty( $this->url_params ) ) { // Call the method and pass arguments to it call_user_func_array( array( $this->url_controller, $this->url_action ), $this->url_params ); } else { // If no parameters are given, just call the method without parameters, like $this->home->method(); $this->url_controller->{ $this->url_action }(); } } else { if (strlen($this->url_action) == 0) { // no action defined: call the default index() method of a selected controller $this->url_controller->index(); } else { //header('location: ' . URL . 'problem'); $page = new \controller\Problem(); $page->index(); } } } else { //header('location: ' . URL . 'problem'); $page = new \controller\Problem(); $page->index(); } } /** * Cria uma instancia de um objeto da Classe caso não exista uma * @return Aplicacao */ public static function INSTANCIA() { if ( !self::$instancia ){ self::$instancia = new Aplicacao(); } return self::$instancia; } /** * Get and split the URL */ private function splitUrl() { if ( isset( $_GET[ 'url' ] ) ) { // split URL $url = trim( $_GET[ 'url' ], '/' ); $url = filter_var( $url, FILTER_SANITIZE_URL ); $url = explode( '/', $url ); // Put URL parts into according properties // By the way, the syntax here is just a short form of if/else, called "Ternary Operators" // @see http://davidwalsh.name/php-shorthand-if-else-ternary-operators $this->url_controller = isset($url[0]) ? '\controller\\' . $url[0] : null; $this->url_action = isset($url[1]) ? $url[1] : null; // Remove controller and action from the split URL unset($url[0], $url[1]); // Rebase array keys and store the URL params $this->url_params = array_values($url); // for debugging. uncomment this if you have problems with the URL //echo 'Controller: ' . $this->url_controller . '<br>'; //echo 'Action: ' . $this->url_action . '<br>'; //echo 'Parameters: ' . print_r($this->url_params, true) . '<br>'; } } } |-aplicacao_site/core/Controlador.php <?php namespace core; class Controlador { /** * @var null Database Connection */ public $db = null; /** * @var null Model */ public $model = null; /** * Whenever controller is created, open a database connection too and load "the model". */ function __construct() { $this->openDatabaseConnection(); $this->loadModel(); } /** * Open the database connection with the credentials from application/config/config.php */ private function openDatabaseConnection() { // set the (optional) options of the PDO connection. in this case, we set the fetch mode to // "objects", which means all results will be objects, like this: $result->user_name ! // For example, fetch mode FETCH_ASSOC would return results like this: $result["user_name] ! // @see http://www.php.net/manual/en/pdostatement.fetch.php $options = array( \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_OBJ, \PDO::ATTR_ERRMODE => \PDO::ERRMODE_WARNING); // generate a database connection, using the PDO connector // @see http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/ $this->db = new \PDO(DB_TYPE . ':host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=' . DB_CHARSET, DB_USER, DB_PASS, $options); } /** * Loads the "model". * @return object model */ public function loadModel() { //require_once APP . 'model/model.php'; // create new "model" (and pass the database connection) $this->model = new \model\Model($this->db); } } |-aplicacao_site/core/View.php <?php namespace core; class View { /** @var array <br/> Lista de folhas de Estilo que serão incorporados na página */ private static $listaCSS = array(); /** @var array <br/> Lista de scripts em Javascript que serão incorporados na página */ private static $listaJS = array(); /** @var array <br/> Lista de dados das tabelas DataTables em JSON que serão incorporados na página */ private static $dadosDataTables = array(); /** @var View <br/> Instancia da classe */ private static $instancia; /** * Cria uma instancia de um objeto da Classe caso não exista uma * @return View */ public static function INSTANCIA() { if ( !self::$instancia ){ self::$instancia = new View(); } return self::$instancia; } public static function PEGACSS( $chave = null ) { if( $chave ){ return ( isset( static::$listaCSS[ $chave ] ) ? static::$listaCSS[ $chave ] : null ); } else { return ( isset( static::$listaCSS ) ? static::$listaCSS : null ); } } public static function REGISTRACSS( $valor, $chave = null ) { if( $chave ){ static::$listaCSS[ $chave ] = $valor; } else { static::$listaCSS[] = $valor; } } public static function PEGAJS( $chave = null ) { if( $chave ){ return ( isset( static::$listaJS[ $chave ] ) ? static::$listaJS[ $chave ] : null ); } else { return ( isset( static::$listaJS ) ? static::$listaJS : null ); } } public static function REGISTRAJS( $valor, $chave = null ) { if( $chave ){ static::$listaJS[ $chave ] = $valor; } else { static::$listaJS[] = $valor; } } public static function PEGADADOSDATATABLE( $chave = null ) { if( $chave ){ return ( isset( static::$dadosDataTables[ $chave ] ) ? static::$dadosDataTables[ $chave ] : null ); } else { return ( isset( static::$dadosDataTables ) ? static::$dadosDataTables : null ); } } public static function REGISTRADADOSDATATABLE( $valor, $chave = null ) { if( $chave ){ static::$dadosDataTables[ $chave ] = $valor; } else { static::$dadosDataTables[] = $valor; } } } |-aplicacao_site/libs/Helper.php <?php namespace libs; class Helper { CONST DB_CHAVE_CRYPT = 'XYZ'; public static function getConexaoBDARROBA(){ $mySQL = \classes\db\mysql\MySQL::getInstance(); $connector = $mySQL->createConnector( 'arroba' , $mySQL->createConnectionConfig( DB_HOST , DB_NAME , DB_USER , DB_PASS ) ); return $connector; } /** * debugPDO * * Shows the emulated SQL query in a PDO statement. What it does is just extremely simple, but powerful: * It combines the raw query and the placeholders. For sure not really perfect (as PDO is more complex than just * combining raw query and arguments), but it does the job. * * @author Panique * @param string $raw_sql * @param array $parameters * @return string */ static public function debugPDO($raw_sql, $parameters) { $keys = array(); $values = $parameters; foreach ($parameters as $key => $value) { // check if named parameters (':param') or anonymous parameters ('?') are used if (is_string($key)) { $keys[] = '/' . $key . '/'; } else { $keys[] = '/[?]/'; } // bring parameter into human-readable format if (is_string($value)) { $values[$key] = "'" . $value . "'"; } elseif (is_array($value)) { $values[$key] = implode(',', $value); } elseif (is_null($value)) { $values[$key] = 'NULL'; } } /* echo "<br> [DEBUG] Keys:<pre>"; print_r($keys); echo "\n[DEBUG] Values: "; print_r($values); echo "</pre>"; */ $raw_sql = preg_replace($keys, $values, $raw_sql, 1, $count); return $raw_sql; } //verifica se existe a array e/ou a chave informada. //retorna false caso um dos dois não exista. static public function Existe($array, $key) { return isset($array) && array_key_exists($key, $array) && !empty($array[$key]); } static public function doAjaxRequest() { if ( self::Existe( $_POST, 'functionName' ) ){ list( $nomeClasse, $nomeMetodo ) = explode( '::', $_POST[ 'functionName' ] ); if ( ! isset( $nomeClasse ) || $nomeClasse === "" || $nomeClasse === null ){ throw new \Exception( 'Classe não encontrada na solicitação em Ajax!' ); } if ( ! isset( $nomeMetodo ) || $nomeMetodo === "" || $nomeMetodo === null ){ throw new \Exception( 'Método não encontrado na solicitação em Ajax!' ); } require_once ( APP . '/core/Controlador.php' ); require_once ( APP . '/controller/' . strtolower( $nomeClasse ) . '.php' ); call_user_func( '\controller\\' . $nomeClasse . "::" . $nomeMetodo ); } else { throw new \Exception( 'Parâmetro do Ajax "functionName" não encontrado!' ); } } //busca a sql dentro de um arquivo xml static function PegaSQL( $xml, $id ){ try { $dom = new \DOMDocument( '1.0', 'UTF-8' ); $dom->load( APP . "/sql" . $xml); $xml = new \DOMXPath( $dom ); return $xml->query( "//*[@id='" . $id . "']" )->item(0)->nodeValue; } catch( \Exception $e ) { return false; } } } |-aplicacao_site/controller/Login.php <?php namespace controller; /** * Class Login * * Please note: * Don't use the same name for class and method, as this might trigger an (unintended) __construct of the class. * This is really weird behaviour, but documented here: http://php.net/manual/en/language.oop5.decon.php * */ class Login extends \core\Controlador { static $loginOK = false; /** * PAGE: index * This method handles what happens when you move to http://yourproject/login/index (which is the default page btw) */ public function index() { $app = \core\Aplicacao::INSTANCIA(); if( $app->Logado() ){ if( $app->MesmaSessao() ){ // load views require APP . 'view/_templates/cabecalho.php'; require APP . 'view/inicio/index.php'; require APP . 'view/_templates/rodape.php'; } else { // carrega a página de login require APP . 'view/autenticacao/index.php'; } } else { // carrega a página de login require APP . 'view/login/index.php'; } } /** * Método chamado via Ajax permitindo o usuário logar no sistema * * Como o método é chamado via Ajax, a execução do código não passa pela index.php, sendo assim * necessário a importação de todos os arquivos de configuração e tals */ static public function LOGAR() { $retorno[ 'sucesso' ] = false; $retorno[ 'errMsg' ] = null; if( ! \libs\Helper::Existe( $_POST, 'email' ) ){ //$email = $_POST[ 'email' ]; //throw new Exception( 'Parâmetro email não encontrado' ); $retorno[ 'errMsg' ] = 'Parâmetro email não encontrado'; } elseif( ! \libs\Helper::Existe( $_POST, 'senha' ) ){ //$senha = $_POST[ 'senha' ]; //throw new Exception( 'Parâmetro senha não encontrado' ); $retorno[ 'errMsg' ] = 'Parâmetro senha não encontrado'; } else { require_once APP . 'config/config.php'; $app = \core\Aplicacao::INSTANCIA(); if ( $app->FazerAcesso( $_POST[ 'email' ], $_POST[ 'senha' ] ) ){ $retorno[ 'sucesso' ] = true; } else { $retorno[ 'errMsg' ] = 'Usuário ou senha inválidos!'; } } echo json_encode( $retorno ); } public function recuperacaoSenha(){ $app = \core\Aplicacao::INSTANCIA(); // carrega a página de login require APP . 'view/login/recuperacaoSenha.php'; } /** * Método chamado via Ajax permitindo o usuário logar no sistema * * Como o método é chamado via Ajax, a execução do código não passa pela index.php, sendo assim * necessário a importação de todos os arquivos de configuração e tals */ static public function RecuperarSenha() { $retorno[ 'sucesso' ] = false; $retorno[ 'errMsg' ] = null; if( ! \libs\Helper::Existe( $_POST, 'email' ) ){ //$email = $_POST[ 'email' ]; //throw new Exception( 'Parâmetro email não encontrado' ); $retorno[ 'errMsg' ] = 'Parâmetro email não encontrado'; } else { require_once APP . 'config/config.php'; } echo json_encode( $retorno ); } } |-aplicacao_site/view/Login/index.php <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="VH - Soluções Inteligentes"> <meta name="author" content="Victor Hugo - Soluções Inteligentes"> <title>VH - Soluções Inteligentes</title> <!-- Bootstrap Core CSS --> <link href="<?php echo URL; ?>vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <!-- Custom CSS --> <link href="<?php echo URL; ?>css/style.css" rel="stylesheet"> <!-- Custom Fonts --> <link href="<?php echo URL; ?>vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="container"> <div class="row"> <div class="col-md-4 col-md-offset-4"> <div class="login-panel panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Por favor autentique-se</h3> </div> <div class="panel-body"> <!-- Form --> <form id="FrmLogin" role="form" method="post" action="login"> <input type="hidden" name="functionName" value="Login::LOGAR" /> <fieldset> <div class="form-group"> <!-- <input class="form-control" placeholder="E-mail" name="email" type="email" autofocus> --> <input class="form-control" placeholder="E-mail" name="email" autofocus> </div> <div class="form-group"> <input class="form-control" placeholder="Senha" name="senha" type="password" value=""> </div> <!-- <div class="checkbox"> <label> <input name="remember" type="checkbox" value="Remember Me">Remember Me </label> </div> --> <div> <label> <a href="login/recuperacaoSenha">Esqueceu a Senha?</a> </label> </div> <input type="submit" class="btn btn-lg btn-success btn-block" value="Entrar" /> </fieldset> </form> <!-- /form --> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title" id="myModalLabel">Problemas de autenticação</h4> </div> <div class="modal-body"> Texto body modal </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button> <!-- <button type="button" class="btn btn-primary">Save changes</button> --> </div> </div> <!-- /.modal-content --> </div> <!-- /.modal-dialog --> </div> <!-- /.modal --> </div> </div> </div> </div> </div> <!-- jQuery --> <script src="<?php echo URL; ?>vendor/jquery/jquery.min.js"></script> <!-- Bootstrap Core JavaScript --> <!-- Necessário para Modal --> <script src="<?php echo URL; ?>vendor/bootstrap/js/bootstrap.min.js"></script> <!-- Script para a validação do Formulário --> <script type="text/javascript" src="<?php echo URL; ?>vendor/jquery/jquery.validate.min.js"></script> <!-- Custom Page JavaScript --> <script type="text/javascript" src="<?php echo URL; ?>js/login.js"></script> </body> </html> |-aplicacao_site/view/Login/recuperacaoSenha.php <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="VH - Soluções Inteligentes"> <meta name="author" content="Victor Hugo - Soluções Inteligentes"> <title>VH - Soluções Inteligentes</title> <!-- Bootstrap Core CSS --> <link href="<?php echo URL; ?>vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <!-- Custom CSS --> <link href="<?php echo URL; ?>css/style.css" rel="stylesheet"> <!-- Custom Fonts --> <link href="<?php echo URL; ?>vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="container"> <div class="row"> <div class="col-md-4 col-md-offset-4"> <div class="login-panel panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Recuperação de senha</h3> </div> <div class="panel-body"> <!-- Form --> <form id="FrmRecuperaSenha" role="form" method="post" action="login"> <input type="hidden" name="functionName" value="Login::RecuperarSenha" /> <fieldset> <div> <label> <a href="../login"> <i class="fa fa-arrow-left" /> </i> Voltar </a> </label> </div> <div class="form-group"> <!-- <input class="form-control" placeholder="E-mail" name="email" type="email" autofocus> --> <input class="form-control" placeholder="E-mail" name="email" autofocus> </div> <input type="submit" class="btn btn-lg btn-success btn-block" value="Enviar" /> </fieldset> </form> <!-- /form --> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title" id="myModalLabel">Problemas de autenticação</h4> </div> <div class="modal-body"> Texto body modal </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button> <!-- <button type="button" class="btn btn-primary">Save changes</button> --> </div> </div> <!-- /.modal-content --> </div> <!-- /.modal-dialog --> </div> <!-- /.modal --> </div> </div> </div> </div> </div> <!-- jQuery --> <script src="<?php echo URL; ?>vendor/jquery/jquery.min.js"></script> <!-- Bootstrap Core JavaScript --> <!-- Necessário para Modal --> <script src="<?php echo URL; ?>vendor/bootstrap/js/bootstrap.min.js"></script> <!-- Script para a validação do Formulário --> <script type="text/javascript" src="<?php echo URL; ?>vendor/jquery/jquery.validate.min.js"></script> <!-- Custom Page JavaScript --> <script type="text/javascript" src="<?php echo URL; ?>js/RecuperaSenha.js"></script> </body> </html> meio complicadinho né, mas se alguém puder dar uma força agradeço.
  19. Skalke

    AJAX Tabelas

    Boa noite, estou fazendo uma listagem de objetos do banco de dados em uma tabela com o PHP, e com cada registro, por meio de um WHILE, eu coloco um botão de excluir referente ao ID do respectivo item que será deletado. Enviando via ajax e deletando. Porém, ele só deixa deletar o primeiro registro da tabela, o que está em primeiro, os demais ele não deixa. Imagem do código ajax e da tabela anexadas. Agradeço desde ja pela ajuda
  20. Dr. Programador

    Multiple Input com jquery

    Bom dia pessoal, Estou com a seguinte dúvida. Estou tentando desenvolver um formulário usando ajax, onde editarei os registros do usuário com PHP. Porém, não estou conseguindo identificar os IDs via Jquery de cada registro listado dentro do Loop do PHP. Vejam: HTML <?php foreach($listando as $rs): ?> <form> <input type="hidden" name="id_usuario[]" id="id_usuario" class="id_usuario" value="<?php echo($rs->id);?>"> <input type="text" name="senha_usuario[]" id="senha_usuario" class="senha_usuario"> <button type="button" onclick="inserir_registo()"> </form> <?php endforeach ?> AJAX <script type="text/javascript"> function inserir_registo() { var dadosajax = { 'senha_usuario' : $(".senha_usuario").val(), 'id_usuario' : $(".id_usuario").val() }; pageurl = 'editar.php'; alert( 'ID:'+ $(".id_usuario").val()+ 'Senha: ' + $(".senha_usuario").val()); // TESTEI PARA VER O ID E SENHA RETORNADO. PORÉM SÓ RETORNA O PRIMEIRO REGISTRO DO LOOP. $.ajax ({ url : pageurl, data : dadosajax, type : 'POST', cache: false, error: function() { alert('Erro: Inserir Registo!!'); }, success: function(result) { if($.trim(result) == '1') { alert("O seu registo foi inserido com sucesso!"); } else { alert("Ocorreu um erro ao inserir o seu registo!"); } } }); } </script> Poderiam me ajudar? Obrigado!
  21. Tem como eu configurar uma página em um site para ler um código de barras pela câmera do mobile? Se sim há como fazer só com php e javascript?
  22. Adriano_MSB

    Ajax em background

    Pessoal eu tenho uma aplicação com uma pagina que faz uma chamada ajax para meu server o tempo todo a cada 5 segundos. A pagina em si funciona muito bem, mas tem um grande problema a qual não sei o que fazer. A cada 5 seg, eu faço uma chamada no server para verificar se chegou alguma mensagem, pois o usuário tem por obrigação responder imediatamente. Então quando o server responde com novas mensagens eu toco um som para que o usuário saiba que chegou mensagem e faça o trabalho dele. Isso funciona, mas tem um porem, o usuário não fica la olhando pra tela do sistema, ele minimiza a tela do navegador e vai fazer outras coisas, nessa que ele minima o navegador depois de alguns minutos as chamadas ajax param, é como se o navegador parasse de executar os scripts, mas se ele volta para a tela as chamadas voltam a acontecer. Devido a esse problema, a tela não esta atingindo o proposito, pois não esta alertando o usuário. A linguagem, por de traz é asp.net mvc, mas acho que esse problema não é na programação uma vez que ele funciona sem erros. Eu devo fazer alguma configuração para que a pagina continue executando os scripts enquanto estiver minimizada ou o usuário estiver em outra aba?
  23. gust.php

    PHP JSON retorno Ajax

    Prezados, boa tarde. Tenho um datatable com alguns registros, quero adicionar um registro a essa tabela sem recarregar a página. Já envio os dados, cadastro e retorno esses dados em um formato JSON. Agora como adicionar a linha com jquery ....? Alguém pode ajudar? Exemplos
  24. Wesley AgroBold

    Site de Leilões - Problema com Socket

    Bom dia pessoal! Recentemente desenvolvemos um site de leilões Judiciais e extrajudiciais. A principio, o site funcionava com AJAX para atualizar os lances recebidos. Porém, o site está com muitos acessos e esta derrubando o servidor. A solução que encontramos foi usar websocket para atualizar em tempo real e não ficar requisitando as atualizações ao servidor de segundo em segundo. Nosso problema é que não estamos conseguindo configurar o socket em nosso servidor que utiliza cPanel e é um VPS que tem IP compartilhado. Neste caso, qual seria a solução que devemos utilizar? Existe alguma outra tecnologia que substitua o socket? É possível usar socket com cPanel e IP compartilhado?
  25. Conecta Wifi

    autocompletar json php jquery ajax

    ao alterar a aplicação para mysqli quando seleciono um cliente os dados ficam carregando e os dados não vem, tirei um print do erro que segue anexado. código arquivo -- cadastro.php <?php /* Função CRUD Cadastro, Edição, Exclusão de Assinaturas. Ultima Atualização: 02/09/2018 */ $idempresa = $_SESSION[ 'empresa' ]; @$getId = base64_decode( $_GET[ 'id' ] ); if ( @$getId ) { $alterar = $cn->query( "SELECT * FROM assinaturas WHERE id = + $getId AND empresa = '$idempresa'" ); $campo = mysqli_fetch_array( $alterar ); } if ( isset( $_POST[ 'cadastrar' ] ) ) { $empresa = $_SESSION[ 'empresa' ]; $pedido = rand( 9, 9999 ); $cliente = $_POST[ 'cliente' ]; $plano = $_POST[ 'plano' ]; $endereco = $_POST[ 'endereco' ]; $numero = $_POST[ 'numero' ]; $bairro = $_POST[ 'bairro' ]; $complemento = $_POST[ 'complemento' ]; $cidade = $_POST[ 'cidade' ]; $estado = $_POST[ 'estado' ]; $cep = $_POST[ 'cep' ]; $login = $_POST[ 'login' ]; $senha = $_POST[ 'senha' ]; $tipo = $_POST[ 'tipo' ]; $ip = $_POST[ 'ip' ]; $mac = $_POST[ 'mac' ]; $vencimento = $_POST[ 'vencimento' ]; $periodo = $_POST[ 'periodo' ]; $bloqueio = "5"; $insento = $_POST[ 'insento' ]; $autobloqueio = $_POST[ 'autobloqueio' ]; $alterarsenha = $_POST[ 'alterarsenha' ]; $desconto = $_POST[ 'desconto' ]; $acrescimo = $_POST[ 'acrescimo' ]; $situacao = "S"; $hjs = date( 'd/m/Y', strtotime( "+30 days" ) ); // 30 Dias Pós Pago $data_nova = explode( "/", $hjs ); $datavencimento = $data_nova[ 2 ] . $data_nova[ 1 ] . $data_nova[ 0 ]; $nParcela = 12 / $periodo; // numero parcelas --- ano dividido pelo periodo $status = $_POST[ 'status' ]; $crud = new crud(); // tabela como parametro $crud->connect(); $crud->insert( 'assinaturas', array( 'empresa' => $empresa, 'pedido' => $pedido, 'cliente' => $cliente, 'plano' => $plano, 'login' => $login, 'senha' => $senha, 'endereco' => $endereco, 'numero' => $numero, 'bairro' => $bairro, 'complemento' => $complemento, 'cidade' => $cidade, 'estado' => $estado, 'cep' => $cep, 'tipo' => $tipo, 'ip' => $ip, 'mac' => $mac, 'vencimento' => $vencimento, 'periodo' => $periodo, 'bloqueio' => $bloqueio, 'insento' => $insento, 'autobloqueio' => $autobloqueio, 'alterarsenha' => $alterarsenha, 'desconto' => $desconto, 'acrescimo' => $acrescimo, 'situacao' => $situacao, 'datavencimento' => $datavencimento, 'status' => $status ) ); $query1 = $cn->query( "SELECT MAX(ID) as id FROM assinaturas" ); $dados1 = mysqli_fetch_assoc( $query1 ); $ultimoid = $dados1[ 'id' ]; $problema = "Nova Instalação de Internet"; $serie = "INST"; $empresa = $_SESSION[ 'empresa' ]; $emissao = date( 'd/m/Y H:i:s' ); // gerando ordem de serviço $crud = new crud(); // tabela como parametro $crud->connect(); $crud->insert( 'ordemservicos', array( 'codigo' => $pedido, 'assinatura' => $ultimoid, 'cliente' => $cliente, 'plano' => $plano, 'tecnico' => '1', 'emissao' => $emissao, 'problema' => $problema, 'situacao' => 'NI', 'status' => 'S', 'serie' => $serie, 'empresa' => $empresa ) ); $pplano = $cn->query( "SELECT * FROM planos WHERE id = '$plano'" ); $pp = mysqli_fetch_array( $pplano ); $nomeplano = $pp[ 'nome' ]; $idservidor = $pp[ 'servidor' ]; $upload = $pp[ 'upload' ]; $download = $pp[ 'download' ]; $interface = $pp[ 'interface' ]; $clliente = $cn->query( "SELECT * FROM clientes WHERE id = '$cliente'" ); $cc = mysqli_fetch_array( $clliente ); $nome = $cc[ 'nome' ] . " | " . $cc[ 'cpf' ] . " Endereço: " . $cc[ 'endereco' ] . " " . $cc[ 'numero' ] . " " . $cc[ 'cidade' ] . " " . $cc[ 'estado' ]; $servidor = $cn->query( "SELECT * FROM servidores WHERE id = '$idservidor'" ); $mk = mysqli_fetch_array( $servidor ); $nasip = $mk[ 'ip' ]; // Radius $mdsenha = md5( $senha ); $crud = new crud(); // tabela como parametro $crud->connect(); $crud->insert( 'radcheck', array( 'username' => $login, 'attribute' => 'MD5-Password', 'op' => ':=', 'value' => $mdsenha, 'pedido' => $pedido ) ); $crud = new crud(); // tabela como parametro $crud->connect(); $crud->insert( 'radcheck', array( 'username' => $login, 'attribute' => 'NAS-IP-Address', 'op' => '==', 'value' => $nasip, 'pedido' => $pedido ) ); if ( $mac <> '' ) { $crud = new crud(); // tabela como parametro $crud->connect(); $crud->insert( 'radcheck', array( 'username' => $login, 'attribute' => 'Caller-ID', 'op' => '==', 'value' => $mac, 'pedido' => $pedido ) ); } if ( $ip <> '' ) { $crud = new crud(); // tabela como parametro $crud->connect(); $crud->insert( 'radreply', array( 'username' => $login, 'attribute' => 'Framed-IP-Address', 'op' => ':=', 'value' => $ip, 'pedido' => $pedido ) ); } $crud = new crud(); // tabela como parametro $crud->connect(); $crud->insert( 'radusergroup', array( 'username' => $login, 'groupname' => $nomeplano, 'priority' => '1', 'pedido' => $pedido ) ); // FIm Radius // Calculando as pacelas if ( $insento == 'N' ) { function calcularParcelas( $cliente, $pedido, $plano, $login, $ip, $mac, $precofn, $periodo, $nParcelas, $dataPrimeiraParcela = null ) { if ( $dataPrimeiraParcela != null ) { $dataPrimeiraParcela = explode( "/", $dataPrimeiraParcela ); $dia = $dataPrimeiraParcela[ 0 ]; $mes = $dataPrimeiraParcela[ 1 ]; $ano = $dataPrimeiraParcela[ 2 ]; } else { $dia = date( "d" ); $mes = date( "m" ); $ano = date( "Y" ); } for ( $x = 1; $x <= $nParcelas; $x++ ) { $parcela = date( "Y-m-d", strtotime( "+" . $x . " month", mktime( 0, 0, 0, $mes, $dia, $ano ) ) ); $prd = explode( "-", $parcela ); $diafn = $prd[ 2 ]; $mesfn = $prd[ 1 ]; $anofn = $prd[ 0 ]; $nossonumero = $pedido . "" . $x . "" . $cliente; $cmm = ( $mesfn - 01 ); if ( $cmm == 0 ) { $mescorre = '01'; } else { $mescorre = $cmm; } $data_inicial = date( 'Y-m-d' ); $data_final = $anofn . "-" . $mesfn . "-" . $diafn; $diferenca = strtotime( $data_final ) - strtotime( $data_inicial ); $dias = floor( $diferenca / ( 60 * 60 * 24 ) ); $valorparcela = $precofn / 30; if ( $query = ( "INSERT INTO financeiro (nfatura,cadastro,mesparcela,cliente,pedido,vencimento,parcela1,valorparcela,dia,mes,ano,plano,login,ip,mac,valor,boleto,situacao,status) VALUES ('$x','$data_inicial','$mescorre','$cliente','$pedido','$parcela','$dias','$valorparcela','$diafn','$mesfn','$anofn','$plano','$login','$ip','$mac','$precofn','$nossonumero','N','A')" ) ) {} else { die( "Erro ao inserir a parcela " . $x . ": " . mysqli_error() ); } } //for } //function $cliente = $_POST[ 'cliente' ]; $plano = $_POST[ 'plano' ]; if ( $desconto <> '' ) { $precofn = ( $pp[ 'preco' ] - $desconto ); } elseif ( $acrescimo <> '' ) { $precofn = ( $pp[ 'preco' ] + $acrescimo ); } else { $precofn = $pp[ 'preco' ]; } $mmj = date( 'm' ); $aaj = date( 'Y' ); calcularParcelas( $cliente, $pedido, $plano, $login, $ip, $mac, $precofn, $periodo, $nParcela, "$vencimento/$mmj/$aaj" ); } // Fim do Calculo $plano = $_POST[ 'plano' ]; $pplano = $cn->query( "SELECT * FROM planos WHERE id = '$plano'" ); $pp = mysqli_fetch_array( $pplano ); $nomeplano = $pp[ 'nome' ]; $idservidor = $pp[ 'servidor' ]; $idplano = $pp[ 'id' ]; $servidor = $cn->query( "SELECT * FROM servidores WHERE id = '$idservidor'" ); $mk = mysqli_fetch_array( $servidor ); $rede = $mk[ 'interface' ]; $router = $mk[ 'ip' ]; $username = $mk[ 'login' ]; $password = $mk[ 'senha' ]; $mikrotik = new Lib_RouterOS(); $mikrotik->setDebug( false ); if ( $_POST[ 'tipo' ] == 'HOTSPOT' ) { $API = new routeros_api(); $API->debug = false; if ( $API->connect( '' . $mk[ ip ] . '', '' . $mk[ login ] . '', '' . $mk[ senha ] . '' ) ) { $API->write( '/ip/hotspot/user/add', false ); $API->write( '=name=' . $login . '', false ); $API->write( '=password=' . $senha . '', false ); if ( $ip <> '' ) { $API->write( '=address=' . $ip . '', false ); } if ( $mac <> '' ) { $API->write( '=mac-address=' . $mac . '', false ); } $API->write( '=profile=' . $nomeplano . '', false ); $API->write( '=comment=' . $nome . '' ); $ARRAY = $API->read(); } } if ( $_POST[ 'tipo' ] == 'PPPoE' ) { // Comando $command = '/ppp/secret/add'; $args = array( 'name' => "$login", 'password' => "$senha", 'service' => 'pppoe', 'caller-id' => "$mac", 'profile' => "$nomeplano", 'comment' => "$nome" ); try { $mikrotik->connect( $router ); $mikrotik->login( $username, $password ); $mikrotik->send( $command, $args ); $response = $mikrotik->read(); } catch ( Exception $ex ) { // "Debug: " . $ex->getMessage() . "\n"; } // Fim Comando } if ( $_POST[ 'tipo' ] == 'IPARP' ) { $ip = $_POST[ 'ip' ]; $mac = $_POST[ 'mac' ]; $descricao = "Controle de Banda IP/ARP Cliente: $nome"; $crud = new crud(); // tabela como parametro $crud->connect(); $crud->insert( 'controlebanda', array( 'cliente' => $cliente, 'plano' => $idplano, 'pedido' => $pedido, 'ip' => $ip, 'download' => $download, 'upload' => $upload ) ); // Comando $command = '/ip/arp/add'; $args = array( 'address' => "$ip", 'mac-address' => "$mac", 'interface' => "$rede", 'comment' => "$nome" ); $command2 = '/queue/simple/add'; $args2 = array( 'target-addresses' => "$ip", 'name' => "$pedido", 'max-limit' => '' . $upload . 'k/' . $download . 'k', 'comment' => "$nome" ); try { $mikrotik->connect( $router ); $mikrotik->login( $username, $password ); $mikrotik->send( $command, $args ); $mikrotik->send( $command2, $args2 ); $response = $mikrotik->read(); } catch ( Exception $ex ) { // "Debug: " . $ex->getMessage() . "\n"; } // Fim Comando } $eqps = $_POST[ 'equipamento' ]; for ( $i = 0; $i < count( $eqps ); $i++ ) { $qtds = $_POST[ 'qtd' ]; for ( $i = 0; $i < count( $qtds ); $i++ ) { $obss = $_POST[ 'obs' ]; for ( $i = 0; $i < count( $obss ); $i++ ) { $crud = new crud(); $crud->connect(); $crud->insert( 'instalacao_equipamentos', array( 'assinatura' => $pedido, 'equipamento' => $eqps[ $i ], 'qtd' => $qtds[ $i ], 'obs' => $obss[ $i ] ) ); } } } header( "Location: index.php?app=Assinaturas&reg=1" ); } if ( isset( $_POST[ 'editar' ] ) ) { $cliente = $_POST[ 'cliente' ]; $plano = $_POST[ 'plano' ]; $endereco = $_POST[ 'endereco' ]; $numero = $_POST[ 'numero' ]; $bairro = $_POST[ 'bairro' ]; $complemento = $_POST[ 'complemento' ]; $cidade = $_POST[ 'cidade' ]; $estado = $_POST[ 'estado' ]; $cep = $_POST[ 'cep' ]; $login = $_POST[ 'login' ]; $senha = $_POST[ 'senha' ]; $tipo = $_POST[ 'tipo' ]; $ip = $_POST[ 'ip' ]; $mac = $_POST[ 'mac' ]; $vencimento = $_POST[ 'vencimento' ]; $periodo = $_POST[ 'periodo' ]; $bloqueio = $_POST[ 'bloqueio' ]; $insento = $_POST[ 'insento' ]; $autobloqueio = $_POST[ 'autobloqueio' ]; $alterarsenha = $_POST[ 'alterarsenha' ]; $desconto = $_POST[ 'desconto' ]; $acrescimo = $_POST[ 'acrescimo' ]; $assinaturaid = $_POST[ 'assinaturaid' ]; $status = $_POST[ 'status' ]; $crud = new crud(); // instancia classe com as operações crud, passando o nome da tabela como parametro $crud->connect(); $crud->update( 'assinaturas', array( 'plano' => $plano, 'login' => $login, 'senha' => $senha, 'endereco' => $endereco, 'numero' => $numero, 'bairro' => $bairro, 'complemento' => $complemento, 'cidade' => $cidade, 'estado' => $estado, 'cep' => $cep, 'tipo' => $tipo, 'ip' => $ip, 'mac' => $mac, 'vencimento' => $vencimento, 'periodo' => $periodo, 'bloqueio' => $bloqueio, 'insento' => $insento, 'autobloqueio' => $autobloqueio, 'alterarsenha' => $alterarsenha, 'desconto' => $desconto, 'acrescimo' => $acrescimo, 'status' => $status ), "id=$assinaturaid" ); $pplano = $cn->query( "SELECT * FROM planos WHERE id = '$plano'" ); $pp = mysqli_fetch_array( $pplano ); $nomeplano = $pp[ 'nome' ]; $idservidor = $pp[ 'servidor' ]; $upload = $pp[ 'upload' ]; $download = $pp[ 'download' ]; $interface = $pp[ 'interface' ]; if ( $desconto <> '' ) { $precoplano = ( $pp[ 'preco' ] - $desconto ); } elseif ( $acrescimo <> '' ) { $precoplano = ( $pp[ 'preco' ] + $acrescimo ); } else { $precoplano = $pp[ 'preco' ]; } $pedido = $_POST[ 'pedido' ]; $financeiroatz = $cn->query( "SELECT * FROM financeiro WHERE pedido = '$pedido'" ); while ( $financeiro = mysqli_fetch_array( $financeiroatz ) ) { $crud = new crud(); // instancia classe com as operações crud, passando o nome da tabela como parametro $crud->connect(); $crud->update( 'financeiro', array( 'valor' => $precoplano, 'dia' => $vencimento ), "pedido=$pedido" ); } $clliente = $cn->query( "SELECT * FROM clientes WHERE id = '$cliente'" ); $cc = mysqli_fetch_array( $clliente ); $nome = $cc[ 'nome' ] . " | " . $cc[ 'cpf' ] . " Endereço: " . $cc[ 'endereco' ] . " " . $cc[ 'numero' ] . " " . $cc[ 'cidade' ] . " " . $cc[ 'estado' ]; $servidor = $cn->query( "SELECT * FROM servidores WHERE id = '$idservidor'" ); $mk = mysqli_fetch_array( $servidor ); $rede = $mk[ 'interface' ]; $nasip = $mk[ 'ip' ]; // Radius $mdsenha = md5( $senha ); $crud = new crud(); // instancia classe com as operações crud, passando o nome da tabela como parametro $crud->connect(); $crud->update( 'radcheck', array( 'username' => $login, 'value' => $mdsenha ), "pedido=$pedido AND attribute = 'MD5-Password'" ); $crud = new crud(); // instancia classe com as operações crud, passando o nome da tabela como parametro $crud->connect(); $crud->update( 'radcheck', array( 'username' => $login, 'value' => $nasip ), "pedido=$pedido AND attribute = 'NAS-IP-Address'" ); if ( $mac <> '' ) { $crud = new crud(); // instancia classe com as operações crud, passando o nome da tabela como parametro $crud->connect(); $crud->update( 'radcheck', array( 'username' => $login, 'value' => $mac ), "pedido=$pedido AND attribute = 'Caller-ID'" ); } if ( $ip <> '' ) { $crud = new crud(); // instancia classe com as operações crud, passando o nome da tabela como parametro $crud->connect(); $crud->update( 'radcheck', array( 'username' => $login, 'value' => $ip ), "pedido=$pedido AND attribute = 'Framed-IP-Address'" ); } $crud = new crud(); // instancia classe com as operações crud, passando o nome da tabela como parametro $crud->connect(); $crud->update( 'radusergroup', array( 'username' => $login, 'groupname' => $nomeplano ), "pedido=$pedido" ); // FIm Radius $API = new routeros_api(); $API->debug = false; if ( $API->connect( '' . $mk[ ip ] . '', '' . $mk[ login ] . '', '' . $mk[ senha ] . '' ) ) { // CASO O PLANO SEJAO MESMO JÁ ELE ATUALIZA O MK if ( $_POST[ 'tipo' ] == 'HOTSPOT' ) { $API->write( '/ip/hotspot/user/set', false ); $API->write( '=.id=' . $login . '', false ); $API->write( '=name=' . $login . '', false ); $API->write( '=password=' . $senha . '', false ); if ( $ip <> '' ) { $API->write( '=address=' . $ip . '', false ); } if ( $mac <> '' ) { $API->write( '=mac-address=' . $mac . '', false ); } $API->write( '=profile=' . $nomeplano . '', false ); $API->write( '=comment=' . $nome . '' ); $ARRAY = $API->read(); } else { $API->write( '/ppp/secret/add', false ); $API->write( '=name=' . $login . '', false ); $API->write( '=password=' . $senha . '', false ); $API->write( '=service=pppoe', false ); $API->write( '=caller-id=' . $mac . '', false ); $API->write( '=profile=' . $nomeplano . '', false ); $API->write( '=comment=' . $nome . '' ); $ARRAY = $API->read(); $API->write( '/ip/hotspot/user/remove', false ); $API->write( '=.id=' . $login . '' ); $ARRAY = $API->read(); } // FIM COM ALTERAÇÃO DE PLANO NO MK E DEL // CASO O PLANO SEJAO MESMO JÁ ELE ATUALIZA O MK if ( $_POST[ 'tipo' ] == 'PPPoE' ) { $API->write( '/ppp/profile/set', false ); $API->write( '=.id=' . $login . '', false ); $API->write( '=name=' . $login . '', false ); $API->write( '=password=' . $senha . '', false ); $API->write( '=service=pppoe', false ); $API->write( '=caller-id=' . $mac . '', false ); $API->write( '=profile=' . $nomeplano . '', false ); $API->write( '=comment=' . $nome . '' ); $ARRAY = $API->read(); } else { $API->write( '/ip/hotspot/user/add', false ); $API->write( '=name=' . $login . '', false ); $API->write( '=password=' . $senha . '', false ); if ( $ip <> '' ) { $API->write( '=address=' . $ip . '', false ); } if ( $mac <> '' ) { $API->write( '=mac-address=' . $mac . '', false ); } $API->write( '=profile=' . $nomeplano . '', false ); $API->write( '=comment=' . $nome . '' ); $ARRAY = $API->read(); $API->write( '/ppp/secret/remove', false ); $API->write( '=.id=' . $login . '' ); $ARRAY = $API->read(); } // FIM COM ALTERAÇÃO DE PLANO NO MK E DEL $API->disconnect(); } // end MK header( "Location: index.php?app=Assinaturas&reg=2" ); } if ( ( isset( $_GET[ "Ex" ] ) ) && ( $_GET[ "Ex" ] == "Del" ) ) { $id = base64_decode( $_GET[ 'id' ] ); // pega id para exclusao caso exista $rrm = $cn->query( "SELECT * FROM assinaturas WHERE id = '$id'" ); $ppr = mysqli_fetch_array( $rrm ); $idplano = $ppr[ 'plano' ]; $tipomk = $ppr[ 'tipo' ]; $idcliente = $ppr[ 'cliente' ]; $iparp = $ppr[ 'ip' ]; $pedido = $ppr[ 'pedido' ]; $rrp = $cn->query( "SELECT * FROM planos WHERE id = '$idplano'" ); $ppp = mysqli_fetch_array( $rrp ); $nomeplano = $ppp[ 'nome' ]; $idservidor = $ppp[ 'servidor' ]; $ccr = $cn->query( "SELECT * FROM clientes WHERE id = '$idcliente'" ); $clp = mysqli_fetch_array( $ccr ); $login = $clp[ 'login' ]; $rrs = $cn->query( "SELECT * FROM servidores WHERE id = '$idservidor'" ); $pps = mysqli_fetch_array( $rrs ); $sip = $pps[ 'ip' ]; $slogin = $pps[ 'login' ]; $ssenha = $pps[ 'senha' ]; $API = new routeros_api(); $API->debug = false; if ( $API->connect( '' . $sip . '', '' . $slogin . '', '' . $ssenha . '' ) ) { if ( $tipomk == 'HOTSPOT' ) { $API->write( '/ip/hotspot/user/remove', false ); $API->write( '=.id=' . $login . '' ); $ARRAY = $API->read(); } if ( $tipomk == 'PPPoE' ) { $API->write( '/ppp/secret/remove', false ); $API->write( '=.id=' . $login . '' ); $ARRAY = $API->read(); } if ( $tipomk == 'IPARP' ) { $INFO = $API->comm( '/ip/arp/print', array( ".proplist" => ".id", "?address" => "$iparp" ) ); $API->comm( '/ip/arp/remove', array( ".id" => $INFO[ 0 ][ '.id' ] ) ); } $API->write( '/queue/simple/remove', false ); $API->write( '=.id=' . $pedido . '' ); $ARRAY = $API->read(); $API->disconnect(); } $crud = new crud(); // tabela como parametro $crud->connect(); $crud->delete( 'assinaturas', "id = $id" ); // exclui o registro com o id que foi passado $crud = new crud(); // tabela como parametro $crud->connect(); $crud->delete( 'financeiro', "pedido=$pedido AND situacao = 'N'" ); // exclui o registro com o id que foi passado $crud = new crud(); // tabela como parametro $crud->connect(); $crud->delete( 'controlebanda', "pedido = $pedido" ); // exclui o registro com o id que foi passado $crud = new crud(); // tabela como parametro $crud->connect(); $crud->delete( 'radcheck', "pedido = $pedido" ); // exclui o registro com o id que foi passado $crud = new crud(); // tabela como parametro $crud->connect(); $crud->delete( 'radusergroup', "pedido = $pedido" ); // exclui o registro com o id que foi passado header( "Location: index.php?app=Assinaturas&reg=3" ); } if ( ( isset( $_GET[ "Ex" ] ) ) && ( $_GET[ "Ex" ] == "DelReg" ) ) { $registra = $_GET[ 'regedit' ]; $crud = new crud(); // tabela como parametro $crud->connect(); $crud->delete( 'instalacao_equipamentos', "id = $registra" ); // exclui o registro com o id que foi passado $idcs = $_GET[ 'id' ]; header( "Location: index.php?app=CadastroAssinatura&id=$idcs" ); } ?> <script type="text/javascript"> $( document ).ready( function () { //jquery script $( "select[name='cliente']" ).change( function () { var endereco = $( "input[name='endereco']" ); var numero = $( "input[name='numero']" ); var bairro = $( "input[name='bairro']" ); var complemento = $( "input[name='complemento']" ); var cidade = $( "input[name='cidade']" ); var estado = $( "input[name='estado']" ); var cep = $( "input[name='cep']" ); var login = $( "input[name='login']" ); var senha = $( "input[name='senha']" ); $( endereco ).val( 'Carregando...' ); $( numero ).val( 'Carregando...' ); $( bairro ).val( 'Carregando...' ); $( complemento ).val( 'Carregando...' ); $( cidade ).val( 'Carregando...' ); $( estado ).val( 'Carregando...' ); $( cep ).val( 'Carregando...' ); $( login ).val( 'Carregando...' ); $( senha ).val( 'Carregando...' ); $.getJSON( 'ajax/dadoscliente.php', { id: $( this ).val() }, function ( json ) { $( endereco ).val( json.endereco ); $( numero ).val( json.numero ); $( bairro ).val( json.bairro ); $( complemento ).val( json.complemento ); $( cidade ).val( json.cidade ); $( estado ).val( json.estado ); $( cep ).val( json.cep ); $( login ).val( json.login ); $( senha ).val( json.senha ); } ); } ); } ); </script> <script src="assets/js/jquery.maskedinput.min.js"></script> <script language="javascript"> jQuery( function ( $ ) { $( ".cel" ).mask( "(99) 99999-9999" ); $( ".tel" ).mask( "(99) 9999-9999" ); $( ".cep" ).mask( "99999-999" ); } ); /*--------------------------------------------------------------------------- Formatação para MAC -----------------------------------------------------------------------------*/ function formatar( src, mask ) { var i = src.value.length; var saida = mask.substring( 0, 1 ); var texto = mask.substring( i ) if ( texto.substring( 0, 1 ) != saida ) { src.value += texto.substring( 0, 1 ); } } </script> <div class="breadcrumb clearfix"> <ul> <li><a href="dashboard"><i class="fa fa-dashboard"></i> Dashboard</a> </li> <li><a href="?app=Assinaturas"><i class="fa fa-pencil-square-o"></i> Assinaturas</a> </li> <li class="active">Cadastro</li> </ul> </div> <?php if($permissao['a1'] == S) { ?> <div class="page-header"> <h1>Assinatura<small> Clientes</small></h1> </div> <div class="powerwidget green" id="most-form-elements" data-widget-collapsed="false"> <header> <h2>Assinatura<small> Plano de Acesso</small></h2> </header> <div class="inner-spacer"> <?php $tr6675443edrd98987tffddedtfret565 = KEY; $uyt766776554eree444343435erererew = base64_decode($tr6675443edrd98987tffddedtfret565); $fn1 = explode("rcnetlimite",$uyt766776554eree444343435erererew); $validar = base64_decode($fn1[0]); if($limitecadastro == $validar) { ?> <div class="alert alert-danger alert-dismissable"> <button type="button" class="close" data-dismiss="alert" aria-hidden="true"> <i class="fa fa-times-circle"></i></button> <strong>Atenção!</strong> Você tem que ter pelo menos um usuario cadastrado, va ate o banco de dados e insira pelo menos um usuario para perfeito funcionamento.<br> Entre em contato com suporte@conectalavandeira.net para mais informações. </div> <?php if (@$campo['id'] <> '') { ?> <!-- Permite editar se plano esgotar --> <form action="" method="POST" class="orb-form"> <fieldset> <section class="col col-5"> <label class="label">Nome do Cliente</label> <label class="select"> <select id="cliente" name="cliente" class="form-control" required> <option value="">Selecione</option> <?php $idempresa = $_SESSION['empresa']; $ccv =$cn->query("SELECT * FROM clientes WHERE empresa = '$idempresa' ORDER BY id DESC"); while($cliente = mysqli_fetch_array($ccv)){ ?> <option value="<?php echo $cliente['id']; ?>" <?php if ($campo['cliente'] == $cliente['id']) { echo "selected"; } ?>><?php echo $cliente['nome']; ?> | <?php echo $cliente['cpf']; ?> | <?php echo $cliente['endereco']; ?> | <?php echo $cliente['cidade']; ?> - <?php echo $cliente['estado']; ?></option> <?php } ?> </select> </label> </section> <section class="col col-3"> <label class="label">Plano de Acesso</label> <label class="select"> <select id="plano" name="plano" class="form-control" required> <option value="">Selecione</option> <?php $idempresa = $_SESSION['empresa']; $ccp =$cn->query("SELECT * FROM planos WHERE empresa = '$idempresa'"); while($plano = mysqli_fetch_array($ccp)){ ?> <option value="<?php echo $plano['id']; ?>" <?php if ($campo['plano'] == $plano['id']) { echo "selected"; } ?>><?php echo $plano['nome']; ?> | R$ <?php echo number_format($plano['preco'],2,',','.'); ?> | <?php echo $plano['download']; ?>/<?php echo $plano['upload']; ?>kbps </option> <?php } ?> </select> </label> </section> <section class="col col-4"> <label class="label">Tipo de Autenticação</label> <div class="inline-group"> <label class="radio"> <input name="tipo" type="radio" required value="HOTSPOT" checked="checked" <?php if ($campo['tipo'] == 'HOTSPOT') { echo "checked"; } ?>> <i></i>HotSpot</label> <label class="radio"> <input type="radio" name="tipo" value="PPPoE" <?php if ($campo['tipo'] == 'PPPoE') { echo "checked"; } ?>> <i></i>PPPoE</label> <label class="radio"> <input type="radio" name="tipo" value="IPARP" <?php if ($campo['tipo'] == 'IPARP') { echo "checked"; } ?>> <i></i>IP/ARP</label> <label class="radio"> <input type="radio" name="tipo" value="DHCP" <?php if ($campo['tipo'] == 'DHCP') { echo "checked"; } ?>> <i></i>DHCP</label> </div> </section> <section class="col col-2"> <label class="label">IP</label> <label class="input"> <input type="text" name="ip" id="ip" value="<?php echo @$campo['ip']; ?>"> </label> </section> <section class="col col-2"> <label class="label">MAC</label> <label class="input"> <input type="text" maxlength="17" OnKeyPress="formatar(this, '##:##:##:##:##:##')" name="mac" value="<?php echo @$campo['mac']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Login (HotSpot/PPPoE)</label> <label class="input"> <input type="text" name="login" value="<?php echo @$campo['login']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Senha (HotSpot/PPPoE)</label> <label class="input"> <input type="text" name="senha" value="<?php echo @$campo['senha']; ?>"> </label> </section> <?php if (@$campo['id'] <> '') { ?> <section class="col col-11"> <label class="label">Equipamentos Utilizados</label> <hr> <table class="table table-striped table-hover margin-0px"> <thead> <tr> <th>Equipamento</th> <th>Modelo</th> <th>Fabricante</th> <th>Qtd</th> <th>Observações</th> <th>Ações</th> </tr> </thead> <tbody> <?php $assinatura = $campo[ 'pedido' ]; $codsx = $cn->query( "SELECT * FROM instalacao_equipamentos WHERE assinatura = '$assinatura'" ); while ( $cvb = mysqli_fetch_array( $codsx ) ) { $idequipe = $cvb[ 'equipamento' ]; $newe = $cn->query( "SELECT * FROM equipamentos WHERE id = '$idequipe'" ); $equip = mysqli_fetch_array( $newe ); ?> <tr> <td> <?php echo $equip['equipamento']; ?> </td> <td> <?php echo $equip['modelo']; ?> </td> <td> <?php echo $equip['fabricante']; ?> </td> <td> <?php echo $cvb['qtd']; ?> </td> <td> <?php echo $cvb['obs']; ?> </td> <td><a href="javascript:void(0);" onclick="javascript: if (confirm('Deseja realmente alterar esse equipamento ?')) { window.location.href='?app=EqpAssinatura&regedit=<?php echo base64_encode($cvb['id']); ?>&id=<?php echo base64_encode($campo['id']); ?>' } else { void('') };"><img src="assets/images/edit.png"></a> &nbsp; <a href="javascript:void(0);" onclick="javascript: if (confirm('Deseja realmente excluir esse equipamento ?')) { window.location.href='?app=CadastroAssinatura&id=<?php echo base64_encode($campo['id']); ?>&Ex=DelReg&regedit=<?php echo $cvb['id']; ?>' } else { void('') };" class=" tooltiped" data-toggle="tooltip" data-placement="top" title="Excluir"><img src="assets/images/del.png"></a> </td> </tr> <?php } ?> </tbody> </table> <hr> </label> </section> <? } else { ?> <table border="0" cellpadding="2" cellspacing="4" width="100%"> <tr> <td class="bd_titulo"></td> <td class="bd_titulo" style="width:40px;"></td> <td class="bd_titulo" style="width:40px;"></td> </tr> <tr class="linhas"> <td> <table border="0" width="100%" cellspacing="0" cellpadding="0" style="padding-bottom: 5px; padding-left: 10px"> <tr> <td> <table cellpadding="0" cellspacing="0" width="100%"> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td> <section class="col col-12"> <label class="label">Equipamento</label> <label class="select"> <select id="equipamento" name="equipamento[]" class="form-control"> <option value="">Selecione</option> <?php $idempresa = $_SESSION['empresa']; $eqp =$cn->query("SELECT * FROM equipamentos WHERE empresa = '$idempresa'"); while($equipamento = mysqli_fetch_array($eqp)){ ?> <option value="<?php echo $equipamento['id']; ?>"><?php echo $equipamento['equipamento']; ?> | Modelo: <?php echo $equipamento['modelo']; ?> | <?php echo $equipamento['fabricante']; ?></option> <?php } ?> </select> </label> </section> </td> <td> <section class="col col-12"> <label class="label">Qtd Utilizado</label> <label class="input"> <input type="text" onKeyUp="kbps(this);" placeholder="Ex: 1 Unid, e/ou 100 Mts" name="qtd[]"> </label> </section> </td> <td> <section class="col col-12"> <label class="label">Observações</label> <label class="input"> <input type="text" name="obs[]" placeholder="Marcações se necessário"> </label> </section> </td> </tr> </table> <div id="newprescriptions"> </div> <td colspan="4"> <a href="javascript:void(0)" class="removerCampo" title="Remover Equipamento"><img src="assets/images/minus.png" border="0" /></a> </td> </tr> </td> </tr> </table> </td> </tr> <tr> <td colspan="4"> <a href="javascript:void(0)" class="adicionarCampo" title="Adicionar Equipamento"><img src="assets/images/plus.png" border="0" /></a> </td> <tr> <td align="right" colspan="4"></td> </tr> </table> <?php } ?> <section class="col col-7"> <label class="label">Endereço de Instalação</label> <label class="input"> <input type="text" name="endereco" value="<?php echo @$campo['endereco']; ?>" required> </label> </section> <section class="col col-1"> <label class="label">Nº</label> <label class="input"> <input type="text" name="numero" onKeyUp="kbps(this);" value="<?php echo @$campo['numero']; ?>" required> </label> </section> <section class="col col-2"> <label class="label">Bairro</label> <label class="input"> <input type="text" name="bairro" value="<?php echo @$campo['bairro']; ?>" required> </label> </section> <section class="col col-2"> <label class="label">CEP</label> <label class="input"> <input type="text" name="cep" class="cep" value="<?php echo @$campo['cep']; ?>"> </label> </section> <section class="col col-3"> <label class="label">Complemento</label> <label class="input"> <input type="text" name="complemento" value="<?php echo @$campo['complemento']; ?>"> </label> </section> <section class="col col-3"> <label class="label">Estado</label> <label class="input"> <input type="text" name="estado" value="<?php echo @$campo['estado']; ?>"> </label> </section> <section class="col col-3"> <label class="label">Cidade</label> <label class="input"> <input type="text" name="cidade" value="<?php echo @$campo['cidade']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Vencimento</label> <label class="select"> <select name="vencimento" required> <option value="">Selecione</option> <option value="01" <?php if ($campo['vencimento'] == '01') { echo "selected"; } ?>>Dia 1 de cada mês</option> <option value="05" <?php if ($campo['vencimento'] == '05') { echo "selected"; } ?>>Dia 5 de cada mês</option> <option value="10" <?php if ($campo['vencimento'] == '10') { echo "selected"; } ?>>Dia 10 de cada mês</option> <option value="15" <?php if ($campo['vencimento'] == '15') { echo "selected"; } ?>>Dia 15 de cada mês</option> <option value="20" <?php if ($campo['vencimento'] == '20') { echo "selected"; } ?>>Dia 20 de cada mês</option> <option value="25" <?php if ($campo['vencimento'] == '25') { echo "selected"; } ?>>Dia 25 de cada mês</option> <option value="30" <?php if ($campo['vencimento'] == '30') { echo "selected"; } ?>>Dia 30 de cada mês</option> </select> </label> </section> <section class="col col-2"> <label class="label">Periodo</label> <label class="select"> <select name="periodo" required> <option value="">Selecione</option> <option value="1" <?php if ($campo['periodo'] == '1') { echo "selected"; } ?>>Mensal</option> <option value="2" <?php if ($campo['periodo'] == '2') { echo "selected"; } ?>>Bimestral</option> <option value="3" <?php if ($campo['periodo'] == '3') { echo "selected"; } ?>>Trimestral</option> <option value="6" <?php if ($campo['periodo'] == '6') { echo "selected"; } ?>>Semestral</option> <option value="12" <?php if ($campo['periodo'] == '12') { echo "selected"; } ?>>Anual</option> </select> </label> </section> <section class="col col-2"> <label class="label">Desconto (R$)</label> <label class="input"> <input type="text" name="desconto" onKeyUp="moeda(this);" value="<?php echo @$campo['desconto']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Acréscimo (R$)</label> <label class="input"> <input type="text" name="acrescimo" onKeyUp="moeda(this);" value="<?php echo @$campo['acrescimo']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Isento Mensalidade</label> <div class="inline-group"> <label class="radio"> <input name="insento" type="radio" required value="S" <?php if ($campo['insento'] == 'S') { echo "checked"; } ?>> <i></i>Sim</label> <label class="radio"> <input name="insento" type="radio" value="N" checked="checked" <?php if ($campo['insento'] == 'N') { echo "checked"; } ?>> <i></i>Não</label> </div> </section> <section class="col col-2"> <label class="label">Bloqueio Automático</label> <div class="inline-group"> <label class="radio"> <input name="autobloqueio" type="radio" required value="S" checked="checked" <?php if ($campo['autobloqueio'] == 'S') { echo "checked"; } ?>> <i></i>Sim</label> <label class="radio"> <input type="radio" name="autobloqueio" value="N" <?php if ($campo['autobloqueio'] == 'N') { echo "checked"; } ?>> <i></i>Não</label> </div> </section> <section class="col col-2"> <label class="label">Permitir AlterarSenha</label> <div class="inline-group"> <label class="radio"> <input name="alterarsenha" type="radio" required value="S" checked="checked" <?php if ($campo['alterarsenha'] == 'S') { echo "checked"; } ?>> <i></i>Sim</label> <label class="radio"> <input type="radio" name="alterarsenha" value="N" <?php if ($campo['alterarsenha'] == 'N') { echo "checked"; } ?>> <i></i>Não</label> </div> </section> <section class="col col-2"> <label class="label">Status</label> <div class="inline-group"> <label class="radio"> <input name="status" type="radio" required value="S" checked="checked" <?php if ($campo['status'] == 'S') { echo "checked"; } ?>> <i></i>Ativo</label> <label class="radio"> <input type="radio" name="status" value="N" <?php if ($campo['status'] == 'N') { echo "checked"; } ?>> <i></i>Bloqueado</label> </div> </section> </fieldset> <footer> <?php if (@$campo['id'] <> '') { ?> <input type="submit" name="editar" class="btn btn-primary" value="Atualizar"> <input type="hidden" name="assinaturaid" value="<?php echo @$campo['id']; ?>"> <input type="hidden" name="pedido" value="<?php echo @$campo['pedido']; ?>"> <? } else { ?> <input type="submit" name="cadastrar" class="btn btn-success" value="Cadastrar"> <?php } ?> </footer> </form> <!-- Fim Permite Editar --> <?php } ?> <? } else { ?> <form action="" method="POST" class="orb-form"> <fieldset> <section class="col col-5"> <label class="label">Cliente</label> <label class="select"> <select id="cliente" name="cliente" class="form-control" required> <option value="">Selecione</option> <?php $idempresa = $_SESSION['empresa']; $ccv =$cn->query("SELECT * FROM clientes WHERE empresa = '$idempresa' ORDER BY id DESC"); while($cliente = mysqli_fetch_array($ccv)){ ?> <option value="<?php echo $cliente['id']; ?>" <?php if ($campo['cliente'] == $cliente['id']) { echo "selected"; } ?>><?php echo $cliente['nome']; ?> | <?php echo $cliente['cpf']; ?> | <?php echo $cliente['endereco']; ?> | <?php echo $cliente['cidade']; ?> - <?php echo $cliente['estado']; ?></option> <?php } ?> </select> </label> </section> <section class="col col-3"> <label class="label">Plano de Acesso</label> <label class="select"> <select id="plano" name="plano" class="form-control" required> <option value="">Selecione</option> <?php $idempresa = $_SESSION['empresa']; $ccp =$cn->query("SELECT * FROM planos WHERE empresa = '$idempresa'"); while($plano = mysqli_fetch_array($ccp)){ ?> <option value="<?php echo $plano['id']; ?>" <?php if ($campo['plano'] == $plano['id']) { echo "selected"; } ?>><?php echo $plano['nome']; ?> | R$ <?php echo number_format($plano['preco'],2,',','.'); ?> | <?php echo $plano['download']; ?>/<?php echo $plano['upload']; ?>kbps </option> <?php } ?> </select> </label> </section> <section class="col col-2"> <label class="label">IP</label> <label class="input"> <input type="text" maxlength="15" OnKeyPress="formatar(this, '###.###.###.###')" name="ip" id="ip" value="<?php echo @$campo['ip']; ?>"> </label> </section> <section class="col col-2"> <label class="label">MAC</label> <label class="input"> <input type="text" maxlength="17" OnKeyPress="formatar(this, '##:##:##:##:##:##')" name="mac" value="<?php echo @$campo['mac']; ?>"> </label> </section> <section class="col col-4"> <label class="label">Tipo Autenticação</label> <div class="inline-group"> <label class="radio"> <input name="tipo" type="radio" required value="HOTSPOT" checked="checked" <?php if ($campo['tipo'] == 'HOTSPOT') { echo "checked"; } ?>> <i></i>HotSpot</label> <label class="radio"> <input type="radio" name="tipo" value="PPPoE" <?php if ($campo['tipo'] == 'PPPoE') { echo "checked"; } ?>> <i></i>PPPoE</label> <label class="radio"> <input type="radio" name="tipo" value="IPARP" <?php if ($campo['tipo'] == 'IPARP') { echo "checked"; } ?>> <i></i>IP / ARP</label> <label class="radio"> <input type="radio" name="tipo" value="DHCP" <?php if ($campo['tipo'] == 'DHCP') { echo "checked"; } ?>> <i></i>DHCP</label> </div> </section> <section class="col col-2"> <label class="label">Login (HotSpot/PPPoE)</label> <label class="input"> <input type="text" name="login" value="<?php echo @$campo['login']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Senha (HotSpot/PPPoE)</label> <label class="input"> <input type="text" name="senha" value="<?php echo @$campo['senha']; ?>"> </label> </section> <?php if (@$campo['id'] <> '') { ?> <section class="col col-11"> <label class="label">Equipamentos Utilizados</label> <hr> <table class="table table-striped table-hover margin-0px"> <thead> <tr> <th>Equipamento</th> <th>Modelo</th> <th>Fabricante</th> <th>Qtd</th> <th>Observações</th> <th>Ações</th> </tr> </thead> <tbody> <?php $assinatura = $campo[ 'pedido' ]; $codsx = $cn->query( "SELECT * FROM instalacao_equipamentos WHERE assinatura = '$assinatura'" ); while ( $cvb = mysqli_fetch_array( $codsx ) ) { $idequipe = $cvb[ 'equipamento' ]; $newe = $cn->query( "SELECT * FROM equipamentos WHERE id = '$idequipe'" ); $equip = mysqli_fetch_array( $newe ); ?> <tr> <td> <?php echo $equip['equipamento']; ?> </td> <td> <?php echo $equip['modelo']; ?> </td> <td> <?php echo $equip['fabricante']; ?> </td> <td> <?php echo $cvb['qtd']; ?> </td> <td> <?php echo $cvb['obs']; ?> </td> <td><a href="javascript:void(0);" onclick="javascript: if (confirm('Deseja realmente alterar esse equipamento ?')) { window.location.href='?app=EqpAssinatura&regedit=<?php echo base64_encode($cvb['id']); ?>&id=<?php echo base64_encode($campo['id']); ?>' } else { void('') };"><img src="assets/images/edit.png"></a> &nbsp; <a href="javascript:void(0);" onclick="javascript: if (confirm('Deseja realmente excluir esse equipamento ?')) { window.location.href='?app=CadastroAssinatura&id=<?php echo base64_encode($campo['id']); ?>&Ex=DelReg&regedit=<?php echo $cvb['id']; ?>' } else { void('') };" class=" tooltiped" data-toggle="tooltip" data-placement="top" title="Excluir"><img src="assets/images/del.png"></a> </td> </tr> <?php } ?> </tbody> </table> <hr> </label> </section> <? } else { ?> <table border="0" cellpadding="2" cellspacing="4" width="100%"> <tr> <td class="bd_titulo"></td> <td class="bd_titulo" style="width:40px;"></td> <td class="bd_titulo" style="width:40px;"></td> </tr> <tr class="linhas"> <td> <table border="0" width="100%" cellspacing="0" cellpadding="0" style="padding-bottom: 5px; padding-left: 10px"> <tr> <td> <table cellpadding="0" cellspacing="0" width="100%"> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td> <section class="col col-12"> <label class="label">Equipamento</label> <label class="select"> <select id="equipamento" name="equipamento[]" class="form-control"> <option value="">Selecione</option> <?php $idempresa = $_SESSION['empresa']; $eqp =$cn->query("SELECT * FROM equipamentos WHERE empresa = '$idempresa'"); while($equipamento = mysqli_fetch_array($eqp)){ ?> <option value="<?php echo $equipamento['id']; ?>"><?php echo $equipamento['equipamento']; ?> | Modelo: <?php echo $equipamento['modelo']; ?> | <?php echo $equipamento['fabricante']; ?></option> <?php } ?> </select> </label> </section> </td> <td> <section class="col col-12"> <label class="label">Qtd Utilizado</label> <label class="input"> <input type="text" onKeyUp="kbps(this);" placeholder="Ex: 1 Unid, e/ou 100 Mts" name="qtd[]"> </label> </section> </td> <td> <section class="col col-12"> <label class="label">Observações</label> <label class="input"> <input type="text" name="obs[]" placeholder="Marcações se necessário"> </label> </section> </td> </tr> </table> <div id="newprescriptions"> </div> <td colspan="4"> <a href="javascript:void(0)" class="removerCampo" title="Remover Equipamento"><img src="assets/images/minus.png" border="0" /></a> </td> </tr> </td> </tr> </table> </td> </tr> <tr> <td colspan="4"> <a href="javascript:void(0)" class="adicionarCampo" title="Adicionar Equipamento"><img src="assets/images/plus.png" border="0" /></a> </td> <tr> <td align="right" colspan="4"></td> </tr> </table> <?php } ?> <section class="col col-7"> <label class="label">Endereço Instalação</label> <label class="input"> <input type="text" name="endereco" value="<?php echo @$campo['endereco']; ?>" required> </label> </section> <section class="col col-1"> <label class="label">Nº</label> <label class="input"> <input type="text" name="numero" value="<?php echo @$campo['numero']; ?>" required> </label> </section> <section class="col col-2"> <label class="label">Bairro</label> <label class="input"> <input type="text" name="bairro" value="<?php echo @$campo['bairro']; ?>" required> </label> </section> <section class="col col-2"> <label class="label">CEP</label> <label class="input"> <input type="text" name="cep" class="cep" value="<?php echo @$campo['cep']; ?>"> </label> </section> <section class="col col-3"> <label class="label">Complemento</label> <label class="input"> <input type="text" name="complemento" value="<?php echo @$campo['complemento']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Estado</label> <label class="input"> <input type="text" name="estado" value="<?php echo @$campo['estado']; ?>"> </label> </section> <section class="col col-3"> <label class="label">Cidade</label> <label class="input"> <input type="text" name="cidade" value="<?php echo @$campo['cidade']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Dia Vencimento</label> <label class="select"> <select name="vencimento" required> <option value="">Selecione</option> <option value="01" <?php if ($campo['vencimento'] == '01') { echo "selected"; } ?>>Dia 1 de cada mês</option> <option value="05" <?php if ($campo['vencimento'] == '05') { echo "selected"; } ?>>Dia 5 de cada mês</option> <option value="10" <?php if ($campo['vencimento'] == '10') { echo "selected"; } ?>>Dia 10 de cada mês</option> <option value="15" <?php if ($campo['vencimento'] == '15') { echo "selected"; } ?>>Dia 15 de cada mês</option> <option value="20" <?php if ($campo['vencimento'] == '20') { echo "selected"; } ?>>Dia 20 de cada mês</option> <option value="25" <?php if ($campo['vencimento'] == '25') { echo "selected"; } ?>>Dia 25 de cada mês</option> <option value="30" <?php if ($campo['vencimento'] == '30') { echo "selected"; } ?>>Dia 30 de cada mês</option> </select> </label> </section> <section class="col col-2"> <label class="label">Periodo</label> <label class="select"> <select name="periodo" required> <option value="">Selecione</option> <option value="1" <?php if ($campo['periodo'] == '1') { echo "selected"; } ?>>Mensal</option> <option value="2" <?php if ($campo['periodo'] == '2') { echo "selected"; } ?>>Bimestral</option> <option value="3" <?php if ($campo['periodo'] == '3') { echo "selected"; } ?>>Trimestral</option> <option value="6" <?php if ($campo['periodo'] == '6') { echo "selected"; } ?>>Semestral</option> <option value="12" <?php if ($campo['periodo'] == '12') { echo "selected"; } ?>>Anual</option> </select> </label> </section> <section class="col col-2"> <label class="label">Desconto (R$)</label> <label class="input"> <input type="text" name="desconto" onKeyUp="moeda(this);" value="<?php echo @$campo['desconto']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Acréscimo (R$)</label> <label class="input"> <input type="text" name="acrescimo" onKeyUp="moeda(this);" value="<?php echo @$campo['acrescimo']; ?>"> </label> </section> <section class="col col-2"> <label class="label">Isento Mensalidade</label> <div class="inline-group"> <label class="radio"> <input type="radio" name="insento" value="S" <?php if ($campo['insento'] == 'S') { echo "checked"; } ?> required> <i></i>Sim</label> <label class="radio"> <input name="insento" type="radio" value="N" checked="checked" <?php if ($campo['insento'] == 'N') { echo "checked"; } ?>> <i></i>Não</label> </div> </section> <section class="col col-2"> <label class="label">Bloqueio Automático</label> <div class="inline-group"> <label class="radio"> <input name="autobloqueio" type="radio" required value="S" checked="checked" <?php if ($campo['autobloqueio'] == 'S') { echo "checked"; } ?>> <i></i>Sim</label> <label class="radio"> <input type="radio" name="autobloqueio" value="N" <?php if ($campo['autobloqueio'] == 'N') { echo "checked"; } ?>> <i></i>Não</label> </div> </section> <section class="col col-2"> <label class="label">Permitir Alterar Senha</label> <div class="inline-group"> <label class="radio"> <input name="alterarsenha" type="radio" required value="S" checked="CHECKED" <?php if ($campo['alterarsenha'] == 'S') { echo "checked"; } ?>> <i></i>Sim</label> <label class="radio"> <input type="radio" name="alterarsenha" value="N" <?php if ($campo['alterarsenha'] == 'N') { echo "checked"; } ?>> <i></i>Não</label> </div> </section> <section class="col col-2"> <label class="label">Status</label> <div class="inline-group"> <label class="radio"> <input name="status" type="radio" required value="S" checked="checked" <?php if ($campo['status'] == 'S') { echo "checked"; } ?>> <i></i>Ativo</label> <label class="radio"> <input type="radio" name="status" value="N" <?php if ($campo['status'] == 'N') { echo "checked"; } ?>> <i></i>Bloqueado</label> </div> </section> </fieldset> <footer> <?php if (@$campo['id'] <> '') { ?> <input type="submit" name="editar" class="btn btn-primary" value="Atualizar"> <input type="hidden" name="assinaturaid" value="<?php echo @$campo['id']; ?>"> <input type="hidden" name="pedido" value="<?php echo @$campo['pedido']; ?>"> <? } else { ?> <input type="submit" name="cadastrar" class="btn btn-success" value="Cadastrar"> <?php } ?> </footer> </form> <?php } /* FIM LIMITE USO */ ?> </div> </div> <? } else { ?> <div class="page-header"> <h1>Permissão <small>Negada!</small></h1> </div> <div class="row" id="powerwidgets"> <div class="col-md-12 bootstrap-grid"> <div class="alert alert-danger alert-dismissable"> <button type="button" class="close" data-dismiss="alert" aria-hidden="true"> <i class="fa fa-times-circle"></i></button> <strong>Atenção!</strong> Você não possui permissão para esse modulo. </div> </div> </div> <?php } ?> <script type="text/javascript"> $( function () { function removeCampo() { $( ".removerCampo" ).unbind( "click" ); $( ".removerCampo" ).bind( "click", function () { if ( $( "tr.linhas" ).length > 1 ) { $( this ).parent().parent().remove(); } } ); } $( ".adicionarCampo" ).click( function () { novoCampo = $( "tr.linhas:first" ).clone(); novoCampo.find( "input" ).val( "" ); novoCampo.insertAfter( "tr.linhas:last" ); removeCampo(); } ); } ); </script> código arquivo -- dadosclientes.php <?php include("../config/conexao.php"); include("../config/conexao.class.php"); $con = new mysqli($host, $login_db, $senha_db, $database); // Check connection if (mysqli_connect_errno()){ echo "Failed to connect to MySQL: " . mysqli_connect_error(); } /** * função que retorna o select */ function montaSelect() { $sql = "SELECT * FROM clientes"; $query = mysqli_query($con, $sql ); if( mysqli_num_rows( $query ) > 0 ){ while( $dados = mysqli_fetch_assoc( $query ) ){ $opt .= '<option value="'.$dados['id'].'">'.$dados['nome'].'</option>'; } } else $opt = '<option value="0">Nenhum cliente cadastrado</option>'; return $opt; } /** * função que devolve em formato JSON os dados do cliente */ function retorna($id){ $id = (int)$id; echo ($id); //mostra id que chegou! $sql = "SELECT endereco, numero, bairro, complemento, cidade, estado, cep, login, senha FROM clientes WHERE id='{$id}'"; $query = $con->query( $sql ); $arr = Array(); if( (!empty($query->num_rows)) ){ while( $dados = $query->fetch_object() ){ $arr['endereco'] = $dados->endereco; $arr['numero'] = $dados->numero; $arr['bairro'] = $dados->bairro; $arr['complemento'] = $dados->complemento; $arr['cidade'] = $dados->cidade; $arr['estado'] = $dados->estado; $arr['cep'] = $dados->cep; $arr['login'] = $dados->login; $arr['senha'] = $dados->senha; } } else $arr[] = 'endereco: não encontrado'; return json_encode( $arr ); } /* só se for enviado o parâmetro, que devolve o combo */ if( isset($_GET['id']) ) { echo retorna( $_GET['id'] ); } ?>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.