Ir para conteúdo

Rogerio Pancini

Members
  • Total de itens

    101
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Rogerio Pancini

  • Data de Nascimento 02/04/1981

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    São João da Boa Vista - SP
  • Interesses
    Jquery, PHP, MySql, Bootstrap

Contato

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

  1. Rogerio Pancini

    Formulário de contato com Ajax e Php

    Bom dia pessoal. Fui ajustando um script para enviar e-mails com Ajax e Php. Está funcionando muito bem o envio e uma coleta de informações que faço após o envio. Para ficar 99% certo, falta um detalhe no Validate, que uso no formulário de contato. Parece que ele funciona em conjunto com o script de envio e não após fazer a validação. Se eu usar " submitHandler " (como no exemplo da documentação) $("#myform").validate({ submitHandler: function(form) { // some other code // maybe disabling submit button // then: $(form).submit(); } }); Parece que o formulário dá problema no focus, para de clicar, sei lá. Vou colocar o que fiz aqui. Se alguém tiver alguma sugestão desse detalhe, eu agradeço. <!-- Formulário de contato --> <form name="form_contato" id="form_contato" method="post" action=""> <div class="row"> <div class="col-md-12"> <div class="form-field"> <input type="text" placeholder="Nome" id="nome" name="nome"> </div> </div> <div class="col-md-12"> <div class="form-field"> <input type="tel" placeholder="Telefone" id="telefone" name="telefone"> </div> </div> <div class="col-md-12"> <div class="form-field"> <input type="email" placeholder="E-mail" id="email" name="email"> </div> </div> <div class="col-md-12"> <div class="form-field"> <input type="text" placeholder="Assunto" id="assunto" name="assunto"> </div> </div> </div> <div class="form-field"> <textarea placeholder="Mensagem" rows="4" id="mensagem" name="mensagem"></textarea> </div> <div class="row"> <div class="col-md-6"> <div class="form-button text-left"> <div class="form-tip"> <div class="g-recaptcha" data-sitekey="<?php echo $chave_de_site_sel; ?>"></div> </div> </div> </div> <div class="col-md-6"> <div class="form-button text-right text-center-mobile"> <button type="submit" class="readon">Enviar</button> <input type="hidden" name="enviar" value="ok" /> </div> </div> </div> <div class="text-center" id="post_email" style="display: none; "> <div class="alert alert-warning mt-30" role='alert'>Aguarde, enviando o e-mail...</div> </div> </form> /****** Validate ******/ $().ready(function() { $("#form_contato").validate({ rules: { nome: "required", email: {required: true, email: true}, telefone: "required", assunto: "required", mensagem: "required", }, messages: { nome: "Informe seu nome", email: {required: "Informe o e-mail", email: "Informe um e-mail válido"}, telefone: "Informe o telefone", assunto: "Informe o assunto", mensagem: "Envie uma mensagem" } }); }); /****** Validate ******/ /****** Ajax ******/ $('#form_contato').on('submit', function (e) { e.preventDefault(); const nome = $('input[name="nome"]').val(); const telefone = $('input[name="telefone"]').val(); const email = $('input[name="email"]').val(); const assunto = $('input[name="assunto"]').val(); const mensagem = $('textarea[name="mensagem"]').val(); const g_recaptcha_response = $('#g-recaptcha-response').val(); $('#post_email').css({ 'display': "block" } ); $.ajax({ type: 'post', url: '<?php echo $dir_base; ?>php/post/contato.php', data: {nome: nome, telefone: telefone, email: email, assunto: assunto, mensagem: mensagem, g_recaptcha_response: g_recaptcha_response}, success: function(response) { var data = $.parseJSON(response); if (data.status == 10) { swal({ title: "Enviado", text: "Agradecemos seu contato!", confirmButtonColor: "#007ca8", type: "success" }); $("#form_contato")[0].reset(); grecaptcha.reset(); $('#post_email').css({ 'display': "none" } ); }else if (data.status == 20) { swal({ title: "Oopss...", text: "Ocorreu um problema ao concluir o envio do e-mail", confirmButtonColor: "#e74c3c", type: "error" }); grecaptcha.reset(); $('#post_email').css({ 'display': "none" } ); }else if (data.status == 30) { swal({ title: "Oopss...", text: "O reCAPTCHA não foi habilitado", confirmButtonColor: "#e74c3c", type: "error" }); grecaptcha.reset(); $('#post_email').css({ 'display': "none" } ); }else if (data.status == 40) { swal({ title: "Oopss...", text: "Ocorreu um problema ao acessar o banco de dados", confirmButtonColor: "#e74c3c", type: "error" }); grecaptcha.reset(); $('#post_email').css({ 'display': "none" } ); }else { swal({ title: "Oopss...", text: "Ocorreu um erro ao enviar a mensagem", confirmButtonColor: "#e74c3c", type: "error" }); grecaptcha.reset(); $('#post_email').css({ 'display': "none" } ); } } }); }); /****** Ajax ******/ O post do PHP é meio grande, se for necessário eu coloco ele também. Muito obrigado
  2. Rogerio Pancini

    Não fazer download ao exportar para Xls utilizando PHP

    Boa tarde pessoal. Sempre uso um script para exportar dados para xls com PHP. Me serviu muito, mas, neste caso, preciso apenas gerar o xls e anexar no e-mail. Passei boa parte de manhã tentando fazer que o script apenas gere a planilha, sem forçar o download, mas, se eu tiro o "Content-Disposition: attachment", dá erro na página. include("php/phpmailer/PHPMailerAutoload.php"); // Trazendo as informações da tabela: $header = ""; $dados = ""; $header .= utf8_decode('Serviço'. "\t"); $header .= utf8_decode('Projeto nº'. "\t"); $header .= utf8_decode('Cliente'. "\t"); $header .= utf8_decode('Processo'. "\t"); $header .= utf8_decode('Vencimento'. "\t"); // Select dos processos para fazer o lembrete $sql_2 = mysqli_query($config, "SELECT ps.data_vencimento_limite, ps.id_processo, IFNULL(NULL, ps.num_processo), ps.descricao, c.nome_razao FROM tb_processos_servicos ps LEFT JOIN tb_processos AS p ON (ps.id_processo = p.id_processo) LEFT JOIN tb_agenda AS c ON (p.cliente = c.id) WHERE ps.data_vencimento_limite <> '0000-00-00' AND ps.data_vencimento_limite <= '$data_atual_db' ORDER BY ps.data_vencimento_limite DESC") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_2) <= 0){ echo ""; }else{ while($r_sql_2 = mysqli_fetch_array($sql_2)){ $vencimento_limite = date("d/m/Y", strtotime($r_sql_2[0])); $id_processo = $r_sql_2[1]; $num_processo = $r_sql_2[2]; $descricao_sel = utf8_decode($r_sql_2[3]); $cliente_sel = utf8_decode($r_sql_2[4]); // Insere a linha $line = ''; $value = '"' ."$descricao_sel". '"' . "\t"; $value .= '"' ."$id_processo". '"' . "\t"; $value .= '"' ."$cliente_sel". '"' . "\t"; if(empty($num_processo)){ $value .= '""' . "\t"; }else{ $value .= '"' ."'$num_processo". '"' . "\t"; } $value .= '"' ."$vencimento_limite". '"' . "\t"; $line .= strtr($value,"","") ; // O trim retira os espaços encontrados no começo e no final de cada linha encontrada. $dados .= trim($line)."\n"; // Substituindo todas as quebras de linha ao final de cada registro, que por padrão seria \r por uma valor em branco, para que a formatao fique legível $dados = str_replace("\r","",$dados); // Caso não encontre nenhum registro, mostra esta mensagem. if ($dados== "") { $dados = "\n Nenhum registro encontrado!\n"; } } // O trim retira os espaços encontrados no começo e no final de cada linha encontrada. $dados .= trim($line)."\n"; // Substituindo todas as quebras de linha ao final de cada registro, que por padrão seria \r por uma valor em branco, para que a formatao fique legível $dados = str_replace("\r","",$dados); // Cabeçalhos e instruções para geração e download do arquivo: header("Content-type: application/x-msexcel"); // Este cabeçalho abaixo, indica que o arquivo deve ser gerado para download. // Se eu tirar ele salva o arquivo na pasta, mas dá erro na página header("Content-Disposition: attachment; filename=$nome_arquivo"); // No cache, ou seja, não guarda cache, pois é gerado dinamicamente header("Pragma: no-cache"); // Não expira header("Expires: 0"); // E aqui geramos o arquivo com os dados mencionados acima! print "$header\n$dados"; file_put_contents("anexos/".$nome_arquivo,$dados); //Aqui será enviado o e-mail. } mysqli_close($config); Não sei é possível apenas gerar o xls com esse script, mas ele é tão prático que vou fazer uma última tentativa. Neste caso ele salva na pasta "anexos", mas abre a caixa do navegador para fazer download. Desde já agradeço!
  3. Rogerio Pancini

    Duplicidade ao fazer um insert

    Boa tarde pessoal. Achei que era uma coisa boba, mas está acontecendo com frequência. Eu opto por fazer um insert simples, como este: $cad_item = mysqli_query($config, "INSERT INTO tb_curso (nome, faculdade) VALUES ('$nome_item', '$faculdade')") or die(mysqli_error($config)); Mas há casos, em que se ele estiver dentro de um loop (como um for ($i=0; $i<$n; $i++)), o insert faz duplicidade do mesmo item. Há alguma dica para melhorar isso? Alguém já teve um caso semelhante? Obrigado!
  4. Rogerio Pancini

    Login com PHP e ssl.

    Entendi... Aprendendo mais essa. Obrigado!
  5. Rogerio Pancini

    Marcar o item como selected no Select2 com ajax

    Boa tarde pessoal. Estou terminando um site para imobiliária, no qual faz parte da ferramenta de busca o Select2. Está tudo funcionando. O problema é que, ao selecionar um imóvel, seria necessário que os campos que o cliente escolheu, ficassem com o selected setados. Esse seria um dos scritps: O que faz o ajax: /*************** Procurar cidade ***************/ //$('#cidade').select2('data', {id: '5256', text: 'cidade selecionada...'}); $( "#cidade" ).select2({ ajax: { url: "<?php echo $dir_base; ?>php/procurar_cidades_pesquisa.php", dataType: 'json', delay: 250, data: function (params) { return { finalidade_id: $("#finalidade").val(), tipo_imovel_id: $("#tipo_imovel").val(), q: params.term // search term }; }, processResults: function (data) { // parse the results into the format expected by Select2. // since we are using custom formatting functions we do not need to // alter the remote JSON data return { results: data }; }, cache: true }, language: { noResults: function (params) { return "Selecione a finalidade"; } } }); $("#bairro").prop("disabled", true); $("#cidade").on("change", function () { if($(this).val().length == 0) { $("#bairro").prop("disabled", true); }else{ $("#bairro").prop("disabled", false); } $("#bairro").empty().trigger('change') }); /*************** Procurar cidade ***************/ E o php que faz a busca do db: <?php /******* Conexão com o bando de dados *******/ include "../Conexao/config.php"; mysqli_select_db($config, $database_config); mysqli_set_charset($config,"utf8"); /******* Conexão com o bando de dados *******/ $finalidade_id = strip_tags(trim($_GET['finalidade_id'])); $tipo_imovel_id = @strip_tags(trim($_GET['tipo_imovel_id'])); $cidade_sel_url = @strip_tags(trim($_GET['cidade_sel_url'])); $search = @strip_tags(trim($_GET['q'])); if(empty($finalidade_id)){ $sql_json = mysqli_query($config, "SELECT imv.cidade, cid.nome FROM tb_imovel imv LEFT JOIN tb_cidades AS cid ON (imv.cidade = cid.id) WHERE cid.nome LIKE '".$search."%' AND imv.finalidade = '1' GROUP BY imv.cidade") or die(mysqli_error($config)); }elseif(empty($tipo_imovel_id)){ $sql_json = mysqli_query($config, "SELECT imv.cidade, cid.nome FROM tb_imovel imv LEFT JOIN tb_cidades AS cid ON (imv.cidade = cid.id) WHERE cid.nome LIKE '".$search."%' AND imv.finalidade = '".$finalidade_id."' GROUP BY imv.cidade") or die(mysqli_error($config)); }else{ $sql_json = mysqli_query($config, "SELECT imv.cidade, cid.nome FROM tb_imovel imv LEFT JOIN tb_cidades AS cid ON (imv.cidade = cid.id) WHERE cid.nome LIKE '".$search."%' AND imv.finalidade = '".$finalidade_id."' AND tipo = '".$tipo_imovel_id."' GROUP BY imv.cidade") or die(mysqli_error($config)); } $return_arr = array(); if(@mysqli_num_rows($sql_json) <= '0'){ echo ""; }else{ while($r_sql_json = mysqli_fetch_array($sql_json)){ $row_array['id'] = $r_sql_json['cidade']; $row_array['text'] = $r_sql_json['nome']; array_push($return_arr,$row_array); } } echo json_encode($return_arr); ?> Encontrei essa linha na documentação: //$('#cidade').select2('data', {id: '5256', text: 'cidade selecionada...'}); Mas eu coloco e a cidade selecionada não fica setada com seleted. São seis campos que ocorrem isso, todos parecidos com este. A instrução acima está correta e eu não estou sabendo fazer ou teria algum outro modo de fazer isso? Obrigado!
  6. Rogerio Pancini

    Login com PHP e ssl.

    Bom dia pessoal. Desta vez não é uma dúvida, mas gostaria de uma análise sobre minha ideia. Eu criei uma verificação para fazer login com SSL. Vou descrever aqui como é: $orignal_parse = parse_url(currentUrl($_SERVER), PHP_URL_HOST); // a função traz a url com http/https $get_ssl_par = stream_context_create(array("ssl" => array("capture_peer_cert" => TRUE))); $read_ssl_par = @stream_socket_client("ssl://".$orignal_parse.":443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $get_ssl_par); // As etapas acima são para verificar se existe o SSL. if(!$read_ssl_par){ header("location: index.php?e=2"); // Caso não tenha ssl emite um aviso. }else{ // Se tiver ssl avança ...; $cert = stream_context_get_params($read_ssl_par); $certinfo = openssl_x509_parse($cert['options']['ssl']['peer_certificate']); $cn_ssl = ($certinfo['subject']['CN']); // Exibe o nome do ssl. $url_sem_cert = preg_replace('#^(http(s)?://)?w{3}\.#', '$1', $_SERVER['HTTP_HOST']); // Remove o http/https if($cn_ssl == $url_sem_cert){ //E o nome for o mesmo continua a fazer o script de login } } O que vocês acham? Tem sentido o que fiz, está bom. Obrigado pela atenção!
×

Informação importante

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