Jump to content
  • ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By vmmh
      Alguma alma caridosa que me possa ajudar ?
      há dias que ando com este problema e não consigo resolver. Ficaria eternamente grato se alguém pudesse ajudar
       
      o codigo abaixo em localhost funciona na perfeição , mas em produção , no lado do servidor , nada... HTTP error 500.
      o pedido que estou a fazer está noutro dominio com porta 81 e no meu dominio uso certificado de segurança. Será por aí?
      de qualquer forma o wsdl está   aqui:
       
       
      $client = new SoapClient('https://dekrainspecoes.pt/acp/PROD_CustomUI_ACP_Member_Validation_WS.WSDL');
      $result = $client->QueryByNumCartao(array('N_Cartao' => "705684011673122085"));
      if (!empty($result->QueryByNumCartao_Output->Cartao_Ativo)) {
       
          echo 'The userId : '.$result->QueryByNumCartao_Output ->Pessoa_ID;
      }
       
      $JSON = json_encode($result);
    • By thiago009
      Fiz um site simples, contém um formulário de contato com o objetivo de salvar os dados preenchidos num banco do access, como estou aprendendo falaram que era melhor começar criando um banco no access, mas não consegui fazer com que o formulário salve lá.
      Criei um código ASP para salvar os dados do formulário mas preciso de ajuda para conseguir 
      Coloquei o print dos códigos.
      Alguém pode me ajudar a resolver esse problema?
       
      <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta charset="iso-8859-1" /> <link rel="stylesheet" type="text/css" href="css/estiloscontato.css"> <title>História da Informática</title> </head> <div class="menu"> <div class="collapse navbar-collapse navbar-right" id="myNavbar"> <ul class="nav navbar-nav"> <a href="index.html" target="principal">Home</a> <a href="historia.html" target="principal">História</a> <a href="evolucao.html" target="principal">Evolução</a> <a href="desvantagens.html" target="principal">Desvantagens</a> <a href="educacao.html" target="principal">Na educação</a> <a href="contato.html" target="principal">Contato</a> </ul> </div> </div> <div class="texto"> <body class="bg-color"> <!-- Estilos específicos de Seção --> <div id="conteudo" class="grupo" align=center> <p id="negrito"> <h1>Contato</h1> </p> <br> <p id="negrito">Entre em contato preenchendo o formulário abaixo:</p> <p name="contato"> <form name="f1" action="Contato" method="post"> <br> <fieldset> <br> <div class="campo"> <label for="nome">Nome</label> <input type="text" name="nome" id="nome"> </div> <br> <div class="campo"> <label for="email">E-mail</label> <input type="text" name="email" id="email"> <div> <br> <br><br> <!-- A PARTIR DESSA LINHA SÃO OS ""RADIO BUTTON"" --> <label>Departamento:</label> &nbsp; <label class="radio"> <input type="radio" name="departamento" value="suporte"> Suporte </label> <label class="radio"> <input type="radio" name="departamento" value="comercial"> Comercial </label> <label class="radio"> <input type="radio" name="departamento" value="conteudo"> Conteúdo </label> <div class="campo"> <p id="negrito"> </p> </div> <br> <!-- A PARTIR DESSA LINHA É O ""COMBO BOX"" --> <div class="assunto"> <p id="negrito"> <label for="assunto">Assunto<abbr title=!preenchimento obrigatório">*</abbr></label> <br> <select name="assunto"> <option>-- Selecione -- </option> <option value="duvidas">Dúvidas</option> <option value="solicitacoes">Solicitações</option> <option value="informacoes">Informações</option> <option value="outros">Outros</option> </select> </p> </div> <br><br> <!-- A PARTIR DESSA LINHA É O ""TEXTAREA"" --> <!-- <p id="negrito"> --> <div class="mensagem"> <p id="negrito"> <label id= "texto">Mensagem<abbr title=!preenchimento obrigatório">*</abbr></label> </p> <textarea name= "mensagem" rows="15" cols="80"></textarea> </div> <br> <br> <div class="botao"> <INPUT TYPE=SUBMIT VALUE="Enviar" align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=RESET VALUE="Apagar" align="center"> </div> </div> </p> </form> </body> <div class="bg-color"> </div> <br> </fieldset> </form> <footer class="rodape"> <small>Copyright © 2020</small> </footer> </body> </html> ESSE É O CÓDIGO ASP <% Dim objConn, strCaminho, nome, email, departamento, assunto, mensagem nome = Request.Form("nome") email = Request.Form("email") departamento = Request.Form("departamento") assunto = Request.Form("assunto") mensagem = Request.Form("mensagem") strCaminho = Server.MapPath("banco.mdb") Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strCaminho & ";" objConn.execute("Insert Into contato (nome, email, departamento, assunto, mensagem) Values ('"&nome, email, departamento, assunto, mensagem&"')") response.Write("Cadastrado com sucesso") objConn.Close %>  

    • By marcelocardoso
      olá colegas.

      depois de tanto quebrar a cabeça com o RECAPTCHA do google, v3.
      não estou conseguindo resgatar o ID do INPUT hidden que guarda o TOKEN!!!!

      Segue código
      HTML
       
      <!DOCTYPE html> <html lang="pt_BR"> <head> <meta charset="utf-8"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="ie=edge" http-equiv="X-UA-Compatible"> <title>Google Recaptcha - v3</title> <!-- STYLES CSS --> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/inputmask@3.3.11/css/inputmask.min.css"> <!-- STYLES CSS --> <!-- SCRIPTS JS --> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-form@4.2.2/dist/jquery.form.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.1/dist/jquery.validate.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.1/dist/localization/messages_pt_BR.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.1/dist/additional-methods.min.js"></script> <!-- SCRIPTS JS --> <!-- SCRIPTS RECAPTCHA - SITE KEY --> <script src="https://www.google.com/recaptcha/api.js?render=6LesQewUAAAAAIWQKRKk19yob6G8hx3LEoYXybIC"></script> <!-- SCRIPTS RECAPTCHA - SITE KEY --> <style type="text/css"> *:focus { outline: none !important; } html, body { height: 100%; width: 100%; } body { color: darkgrey; margin: 60px 0px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* google captcha - hidden na tela */ .grecaptcha-badge { display: none !important; } .valid-class { color: #006400; padding-left: 12px; padding-top: 3px; font-size: 15px; display: block; } .error-class { color: #e33d00; padding-left: 12px; padding-top: 3px; font-size: 15px; display: block; } .loading { position: fixed; left: 0px; top: 0px; margin: 0px; width: 100%; height: 100%; display: block; z-index: 999999; opacity: 0.92; -moz-opacity: 0.92; filter: alpha(opacity=98); background-color: #00224b; background-image: url("img/loading.gif"); background-repeat: no-repeat; background-position: 50% 50%; text-align: center; overflow: hidden; font-weight: bold; font-size: 25px; color: white; padding-top: 25%; } </style> </head> <body> <!-- code | formulario --> <section class="container-fluid"> <h1 class="text-center">RECAPTCHA</h1> <h4 class="text-center">GOOGLE v3</h4> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12"> <form id="frm_form_contato" method="post" action="inc/google-form.asp"> <div class="form-group"> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 mb-2"> <label class="control-label" for="campo_nome">Nome</label> <input type="text" id="campo_nome" name="campo_nome" class="form-control" autocomplete="name" placeholder="Digite seu nome"> </div> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 mb-2"> <label class="control-label" for="campo_email">Email</label> <input type="text" id="campo_email" name="campo_email" class="form-control" autocomplete="email" placeholder="Digite seu e-mail"> </div> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 mb-2"> <label class="control-label" for="campo_mensagem">Mensagem</label> <textarea type="text" id="campo_mensagem" name="campo_mensagem" class="form-control" placeholder="Descreva sua mensagem"></textarea> </div> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 mt-4"> <div id="contato_retorno"></div> <button id="btn-form" type="submit" class="btn btn-block btn-md btn-success">ENVIAR</button> </div> </div> <input type="hidden" id="token"> </form> </div> <div id="contato_carregando"></div> </section> <!-- code | formulario --> <!-- GOOGLE reCAPTCHA --> <script type="text/javascript"> "use strict"; //formulario de validacao $("#frm_form_contato").validate({ errorClass: "error-class", validClass: "valid-class", onkeyup: function (element) { this.element(element); }, onfocusout: function (element) { this.element(element); }, rules: { campo_nome: { required: true, minlength: 5, maxlength: 50 }, campo_email: { required: true, minlength: 5, email: true }, campo_mensagem: { required: true, minlength: 5, maxlength: 5000 } }, submitHandler: function (form) { grecaptcha.ready(function () { grecaptcha.execute('6LesQewUAAAAAIWQKRKk19yob6G8hx3LEoYXybIC', { action: 'homepage' }).then(function (token) { $("input#token").attr({ "value": "" + token + "" }); }); }); // A) resgatar variaveis (uma por uma) var form_url = $(this).attr("action"); var form_method = $(this).attr("method"); var form_token = $(this).find('input[name="token"]').val(); var form_nome = $(this).find('input[name="campo_nome"]').val(); var form_email = $(this).find('input[name="campo_email"]').val(); var form_telefone = $(this).find('input[name="campo_telefone"]').val(); var form_mensagem = $(this).find('input[name="campo_mensagem"]').val(); // B) resgatar variaveis (tudo de uma vez) // var form_data = $("#frm_form_contato").serializeArray(); var form_data = { 'campo_nome': $("#campo_nome").val(), 'campo_email': $("#campo_email").val(), 'campo_mensagem': $("#campo_mensagem").val(), 'campo_token': $("#token").val(), }; // ENVIAR FORM com POST // $("form").submit(function (e) { // e.preventDefault(); // var $form = $(this); // $.post($form.attr("action"), $form.serialize()).then(function () {}); // }); //ENVIAR FORM com AJAX $.ajax({ url: $("#frm_form_contato").attr("action"), type: $("#frm_form_contato").attr("method"), data: JSON.stringify(form_data), dataType: 'json', contentType: 'application/json; utf-8', //loading antes do sucesso e do envio beforeSend: function () { $("#btn-form").prop("disabled", false).text('Enviando ...').fadeIn(); $("#contato_carregando").html("<div class='loading'></div>").fadeIn(500); }, //se houver sucesso success: function (response) { setTimeout(function () { $("#contato_carregando").fadeOut(250); }, 3950); setTimeout(function () { $("#contato_retorno").html("<div class='valida_a_certo'>" + response + "</div>").fadeIn(500); }, 4000); setTimeout(function () { $("#contato_retorno").fadeOut(500); $("#btn-form").prop("disabled", false).text('Enviado'); $(form)[0].reset(); }, 10000); }, //se houver sucesso, finaliza complete: function (response) { $('body').fadeTo(4000, '1'); }, //se houver erro error: function (response) { setTimeout(function () { $("#contato_retorno").html("<div class='valida_a_erro'>" + response + "</div>").fadeIn(500); }, 4000); setTimeout(function () { $("#contato_retorno").fadeOut(500); $(form)[0].reset(); }, 10000); }, }); return false; } }); </script> <!-- SCRIPTS RODAPE --> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/inputmask@3.3.11/dist/jquery.inputmask.bundle.js"></script> <!-- SCRIPTS RODAPE --> </body> </html> BACKEND - ASP
      não estou conseguindo repassar o TOKEN para cá, já tentei de várias formas... 
      mas não consigo nem com REQUEST.QUERYSTRING, REQUEST e nem REQUEST.FORM.

       
      <% Response.LCID = 1033 'USA LCID IF Request.ServerVariables("SERVER_NAME") <> Request.ServerVariables("SERVER_NAME") THEN Response.Write "ACESSO RESTRITO!" ELSE G_TOKEN = Request.Form("campo_token") 'google token G_KEY_URL = "https://www.google.com/recaptcha/api/siteverify?secret=" 'google url G_KEY_SITE = "" 'google chave do site G_KEY_SECRET = "" 'google chave secreta IF Request.ServerVariables("REQUEST_METHOD") = "POST" THEN SET objXML = Server.CreateObject("MSXML2.ServerXMLHTTP") objXML.Open "GET", ""& G_KEY_URL & G_KEY_SECRET &"&response=" & G_TOKEN & "", false objXML.Send IF InStr(objXML.ResponseText, "TRUE") THEN campo_nome = Request.Form("campo_nome") campo_email = Request.Form("campo_email") campo_mensagem = Replace(Request.Form("campo_mensagem"), Chr(13), "<br>") cdoSERVER = "mail.teste.com.br" cdoORIGEM = "teste@teste.com.br" cdoPASS = "senha" cdoPORT = 587 cdoTIMEOUT = 120 cdoUSING = 2 cdoAUT = 1 cdoSSL = 0 cdoDE = campo_nome &" <"& campo_email &">" cdoPARA = "teste@teste.com.br" cdoASSUNTO = "teste - contato" cdoTEXT = "Envio de mensagem usando CDOSYS" SET objCDOSYSmail = Server.CreateObject("cdo.message") SET objCDOSYScon = Server.CreateObject("cdo.configuration") objCDOSYScon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = cdoPORT objCDOSYScon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoUSING objCDOSYScon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoAUT objCDOSYScon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = cdoTIMEOUT objCDOSYScon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = cdoSSL objCDOSYScon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = cdoSERVER objCDOSYScon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = cdoORIGEM objCDOSYScon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = cdoPASS objCDOSYScon.Fields.Update SET objCDOSYSmail.Configuration = objCDOSYScon objCDOSYSmail.From = cdoORIGEM objCDOSYSmail.To = cdoPARA objCDOSYSmail.Subject = cdoASSUNTO objCDOSYSmail.TextBody = cdoTEXT ON ERROR RESUME NEXT IF objCDOSYSmail.SEND = "" THEN Response.Write "Mensagem enviada com sucesso!" ELSE IF NOT ERR.NUMBER = "0" THEN Response.Write "Não foi possível enviar a mensagem!" Response.Write "OCORREU UM ERRO: " & Err.Number & " | " & Err.Description Err.Clear() END IF END IF ON ERROR GOTO 0 SET objCDOSYSmail = Nothing SET objCDOSYScon = Nothing ELSE Response.Write "recaptcha errado!" END IF SET objXML = Nothing END IF END IF %> Quem tiver tempo, e quiser dar uma olhada, só falta isso para finalizar o código, PASSAR o bendito parametro que não consigo do input para o ASP.
      No demais, agradeço.
      Até....
       
    • By rdavisp
      Senhores, bom dia.
      Mais uma vez recorro a ajuda de vocês para algo que não domino ainda. Vamos lá!
      Tenho uma API que quando startada, ela sobe no seguinte endereço: http://localhost:49013/api/values. Percebi que isto é parametrizado no arquivo launchSettings.json, que está assim:
       
      {   "iisSettings": {     "windowsAuthentication": false,     "anonymousAuthentication": true,     "iisExpress": {       "applicationUrl": "http://localhost:49013/",       "sslPort": 0     }   },   "profiles":    {     "IIS Express": {       "commandName": "IISExpress",       "launchBrowser": true,       "launchUrl": "api/values",       "environmentVariables": {         "ASPNETCORE_ENVIRONMENT": "Development"       }     },     "Cliente.IG.WebAPI": {       "commandName": "Project",       "launchBrowser": true,       "launchUrl": "api/values",       "environmentVariables": {         "ASPNETCORE_ENVIRONMENT": "Development"       },       "applicationUrl": "http://localhost:49012/"     }   } }  
      No meu controller da API, tenho seguinte método dentro do namespace:
       
          [Produces("application/json")]     [Route("api/IG")]     [ApiController]     public class IGController : Controller     {         [HttpPost]         public IGResult Post([FromBody] Filtro filtro)         {             var app = new IgApplication();             return app.getInstrucoes(filtro);         }     }  
      O "IgApplication" cria uma instância da classe onde é gerado uma lista que é populada com os valores atribuídos do DAO.
       
      Quando inicializo a aplicação "A" em angular através do localhost (http://localhost:4200/). Dentro do meu arquivo environment.prod.ts tenho a chamada:
       
      export const environment = {   production: true,   url: 'http://localhost:49013/' };  
      Ela passa por esse controller e segue o fluxo e faz o que tem que ser feito. 
      Porém, eis a questão! Eu possuo a aplicação "B", que acessa a mesma API porém possui funcionalidades diferente, por isso, dentro do mesmo controller eu criei uma nova classe e um método:
       
          [Produces("application/json")]     [Route("api/Item")]     public class APIIgItemController : Controller     {         [HttpGet]         public ItensResult Post([FromBody] Itens ValorItem)         {             var app = new CRUDApplication();             return app.GetItens();         }     }  
      Como faço para quando for startar a aplicação "B", ele passe por esse método "ItensResult" ao invés "IGResult", sendo que ambas são executadas pelo localhost:4200? Ou isso eu defino na aplicação angular? Vi que é possível configurar mais de uma "applicationUrl" dentro do json. Devo considerar essa configuração?
       
      Grato a quem puder ajudar!
       
    • By Good
      Boa noite,
       
      para um sistema que é muito acessado uma página básica, mas que sempre faz conexão com banco de dados apenas para ler uma informação que já é fixada, é muito raro ter uma atualização.
       
      Então, pensando em economizar e acelerar o site, pensei nestas maneiras:
       
      1. Já uso cloudflare, e ele guarda no cachê algumas informações. Pensei em gravar as informações em TXT, e sempre usar um file_get_contents (através de uma url) para ler as informações. Será que essas informações entrarão em cachê no cloudflare e poupará mais do servidor?
      2. Então usar apenas cloudflare e puxar a informação de forma local.
      3. Manter a conexão com banco de dados a cada acesso de um usuário
       
       
      Qual das 3 opções seria mais viável para milhares de conexões diárias?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.