Jump to content
Gabrieli Moda

Preciso de uma mãozinha para desenvolver um botão "Esqueci minha senha" utilizando PHP

Recommended Posts

Galera, eu faço curso de informática para internet na ETEC e estou fazendo meu TCC.

Já tô morta de procurar por códigos desse tipo de botão e não consigo encontrar um que funcione. 

Eu encontrei esse aqui hoje mais cedo, alguém consegue me ajudar consertar? 

 

<?php
    // recebe as Variaveis
$nome = $_POST['nome'];
$email = $_POST['email'];
$emailDonatario = $_POST['emailDonatario'];
$mensagem = $_POST['mensagem'];

//Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
include(class.phpmailer.php);

// Inicia a classe PHPMailer
$mail = new PHPMailer();

// Define os dados do servidor e tipo de conexão
$mail->IsSMTP();
$mail->Host = 'smtp-mail.outlook.com'; // SMTP server example
$mail->Port = 587;
$mail->SMTPSecure = tls’;
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = MEUEMAIL@outlook.com’; // Usuário do servidor SMTP
$mail->Password = ‘*********’; // Senha do servidor SMTP

// Define o remetente.
$mail->From = 'MEUEMAIL@outlook.com'; // Seu e-mail
$mail->FromName = Samuel”; // Seu nome

// Define os destinatário(s)
$mail->AddAddress($email . $nome);
$mail->AddCC(‘MEUEMAIL@outlook.com’, Eu’); // Copia
$mail->AddBCC($emailDonatario . $nome); // Cópia Oculta

// Define os dados técnicos da Mensagem
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML

// Define a mensagem (Texto e Assunto)
$mail->Subject = Mensagem do site”; // Assunto da mensagem
$mail->Body = $mensagem . $nome;

// Envia o e-mail
$enviado = $mail->Send();

// Exibe uma mensagem de resultado
if ($enviado) {
echo 'E-mail enviado com sucesso!';

} else {
echo 'Não foi possível enviar o e-mail!';
}

 

Desde já, agradeço.

Share this post


Link to post
Share on other sites

Qual erro está dando? Esse código serve apenas para enviar e-mail, tem vários tipos para recuperar senha, nesse caso você teria que fazer uma busca no banco de dados e usar esse código para enviar a senha pro e-mail cadastrado da pessoa.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Erick Plant
      Olá! Precisando de uma ajudinha.
       
      FICAREI MUITO GRATO PELA AJUDA...SE PUDEREM ME DAR UMA LUZ!
       
      Estou arrumando um código que foi de outra pessoa, mas antes disso, preciso "apagar o incêndio" aqui e fazer funcionar uma implementação.
       
      Tenho um dropzone que carrega um arquivo sem necessidade de form. O problema começa por agora. Foi-me pedido para que eu implementasse um select trazendo do banco uma info e que enviasse via get 'junto com a url que envia as informaçoes do arquivo'.
      O carregador do select foi feito, eu estou pegando o value do select dinamicamente, pois não tem form.
      Porém, o problema é q nao sei como pegar esse value capturado para implentá-lo  na url via get.
       
       
      o js  e o dropzone na pag é esse:
      //AQUI EU PEGO O VALOR DO SELECT DE FORMA DINÂMICA id = ''; $(document).ready(function () { $("#seguimento").change(function () { id = $('#seguimento').val(); }); }); Dropzone.autoDiscover = false; Dropzone.options.tstDz = { //////////////////////////////////////////////////////// //AQUI O DROPZONE QUE PASSA OS PARAMETROS VIA GET /////////////////////////////////////////////////////// url: "<?= base_url('homeCgmrr/MonitoramentoPadraoDesempenho/addDoc?ambiente='.$ambiente.'&value='); ?>", paramName: "arquivo", maxFilesize: 2, acceptedFiles: ".xlsx,.ods,.xls,.csv", addRemoveLinks: true, // init: function () { // this.on("complete", function (file) { // setGallery(file); // }) // } init: function () { this.on('error', function(file, response) { $.notify("Você não pode fazer upload de arquivos com essa extensão, apenas arquivos .xlsx !", 'warning'); }); this.on('success', function(file, resp){ if(resp['status'] == false){ $.notify("Ocorreu erro no preenchimento da planilha. Por favor, verifique e tente novamente.", 'warning'); setGalleryError(file); }else{ setGallery(file); $.notify("Arquivo enviado com Sucesso!", 'success'); } }); } };  
      Como eu posso fazer pra carregar o id SE o base_url está em PHP?
      url: "<?= base_url('homeCgmrr/MonitoramentoPadraoDesempenho/addDoc?ambiente='.$ambiente.'&value='AQUI VAI O ID); ?>",  
      Obrigado pela ajuda!
       
    • By Elisame Araújo
      Bom dia,
       
      Estou montando um site de clã de jogos online (especificamente de Battlefield), e neste momento estou desenvolvendo o painel de administração do site, mas me deparei com uma dúvida que não consigo encontrar uma situação na internet que se aplique ao que eu preciso.
       
      A situação é a seguinte:
       
      Eu tenho um módulo onde o administrador vai adicionar um mapa, um tamanho de jogo e um modo para a rotação do servidor do clã, a exemplo desse pop-up:
       
      A lista de mapas vem do BD.
       
      O que eu preciso é que o segundo e o terceiro <select> sejam preenchidos baseados na seleção do primeiro. Onde, a exemplo:

       
      Seleção de Mapa: Ilhas Lofoten
      Opções Disponíveis a partir do 1º Select: 16 e 32 Jogadores
      Opções Disponíveis a partir do 1º e 2º Select: Dominação, TDM, etc.
       
      Para ficar mais simplificado: Seleção 1 > Opções A Partir de Seleção 1 > Opções A partir de Seleção 1 e 2
       
      Infelizmente eu ainda não tenho conhecimento em JavaScript ou JQuery ou JSON - ainda estou para aprender -, e não consigo encontrar uma resposta simplificada para isso
       
      Como eu poderia fazer isso da maneira mais simples ou didática?
       
    • By violin101
      Caros amigos, saudações...
       
      Estou com um pequeno problema de paginação.
       
      Tenho uma tabela de HISTÓRICO onde toda a movimentação que for realizada com o Produto o sistema grava nessa tabela do MySql.  <<=== até aqui tudo bem
       
      O problema é o seguinte:
       
      quando exibo todos os dados na Tabela da seguinte forma, o sistema faz a conta corretamente.
      DATA MOV        HISTÓRICO                                           QTDE     SALDO
      01/11/2020......Saldo Inicial.........................................100 +      100
      02/11/2020......Venda conf. Compr. n.0001...............   30 -          70
      02/11/2020......Devol. conf. Compr. n.0002...............   10 +         80
      02/11/2020......Venda conf. Compr. n.0003...............   15 -          65
      =====================================================
      ESTOQUE ATUAL DO PRODUTO...............................................65
       
       
      Quando faço a paginação o resultado da TABELA fica assim:
      PÁGINA 1
      DATA MOV        HISTÓRICO                                           QTDE     SALDO
      01/11/2020......Saldo Inicial.........................................100 +      100
      02/11/2020......Venda conf. Compr. n.0001...............   30 -         70
       
      =====================================================
       
      PÁGINA 2
      DATA MOV        HISTÓRICO                                           QTDE     SALDO
      02/11/2020......Venda conf. Compr. n.0002...............   10 +          10
      02/11/2020......Venda conf. Compr. n.0003...............   15 -           - 5
       
      ======================================================
       
      Como faço para passar o Resultado final da Página ,1 para a Página 2  e etc ?
       
      Abaixo posto o Código que estou usando.
       
      Controller
      //Função para Visualizar e Paginar Histórico de Produtos function history($id = null) { if (!$this->permission->checkPermission($this->session->userdata('permissao'), 'rProduto')) { $this->session->set_flashdata('error', 'Você não tem permissão para visualizar o histórico do produto.'); redirect(base_url()); } //URL para fazer paginação $url_hist = $id!=NULL ? base_url('admin/produtos/history/'.$id) : base_url('admin/produtos/history/'.$id); /**Paginação*/ $get_total_results = $this->produtos_model->getHistory($id); $tot_histores = $get_total_results['total']; $get_paginar = $this->pagina_history($url_hist, $tot_histores, 2); $get_produtos = $this->produtos_model->getHistory($id, $get_paginar['inicio'], $get_paginar['final']); $this->load->view('estilo/header', $this->data); $this->load->view('admin/produtos/history', array("results" => $get_produtos['dados'], "paginar" => $get_paginar['paginacao']) ); } /*Função para paginar*/ public function pagina_history($url_pagination, $tot_histores, $result_hist_pagina=2){ $this->load->library('table'); $this->load->library('pagination'); $config['base_url'] = $url_pagination; $config['total_rows'] = $tot_histores; $config['per_page'] = $result_hist_pagina; $config['page_query_string'] = TRUE; $config['next_link'] = 'Próxima'; $config['prev_link'] = 'Anterior'; $config['full_tag_open'] = '<div class="pagination alternate"><ul>'; $config['full_tag_close'] = '</ul></div>'; $config['num_tag_open'] = '<li>'; $config['num_tag_close'] = '</li>'; $config['cur_tag_open'] = '<li><a style="color: #2D335B"><b>'; $config['cur_tag_close'] = '</b></a></li>'; $config['prev_tag_open'] = '<li>'; $config['prev_tag_close'] = '</li>'; $config['next_tag_open'] = '<li>'; $config['next_tag_close'] = '</li>'; $config['first_link'] = 'Primeira'; $config['last_link'] = 'Última'; $config['first_tag_open'] = '<li>'; $config['first_tag_close'] = '</li>'; $config['last_tag_open'] = '<li>'; $config['last_tag_close'] = '</li>'; $qtidade = $config['per_page']; $this->pagination->initialize($config); $dados['final'] = $qtidade; $dados['inicio'] = $this->input->get('per_page') != NULL ? $this->input->get('per_page') : '0'; $dados['paginacao'] = $this->pagination->create_links(); return $dados; }  
      MODEL:
      //Função de Busca Histórico do Produto function getHistory($id=null, $inicio=NULL, $quantidade=NULL){ $inicio = $inicio != NULL ? "LIMIT {$inicio},{$quantidade}" : ""; $numClie = $this->session->userdata('idCli'); //Executa SQL no Mysql $sql = $this->db->query("SELECT historico.*, produtos.*, clientes.*, marcas.* FROM historico INNER JOIN produtos ON produtos.idProdutos = historico.prd_idProdutos INNER JOIN clientes ON clientes.idClientes = historico.clie_idClientes INNER JOIN marcas ON marcas.idmarcas = produtos.marcas_idmarcas WHERE historico.prd_idProdutos = $id AND historico.clie_idClientes = $numClie ORDER BY idhistorico ASC {$inicio} "); $dados['inicio'] = $inicio; $dados['total'] = $sql->num_rows(); $dados['dados'] = $sql->result_array(); return $dados; }  
      VIEW:
      <?php defined('BASEPATH') OR exit('No direct script access allowed'); $this->load->view('admin/tema/topo'); ?> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> <h1>Histórico do Produto</h1> </div> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="<?php echo base_url()?>admin/">Home</a></li> <li class="breadcrumb-item active">Histórico do Produto</li> </ol> </div> </div> </div><!-- /.container-fluid --> </section> <?php if (!$results) { ?> <section class="content"> <div class="container-fluid"> <div class="row"> <div class="col-12"> <div class="card"> <div class="card-header"> <a href="<?php echo base_url() ?>admin/produtos" id="" class="btn btn-danger"> <i class="fa fa-undo"></i> Voltar </a> </div> <div class="card-body"> <table id="tab_histprd" class="table table-bordered table-hover"> <thead style="background: #cecece;"> <tr> <th style="text-align:center;">Data Lançamento</th> <th style="text-align:center;">Nr Dcto</th> <th style="text-align:center;">Histórico do Produto</th> <th style="text-align:center;">Movimentação</th> <th style="text-align:center;">Resultado</th> </tr> </thead> <tbody> <tr> <td colspan="5" style="text-align:center;"> <img src="<?php echo base_url()?>assets/img/logo_mail.png" alt="" style="height:100%; margin: 50px 40px;"> </td> </tr> </tbody> </table> </div> <!-- /.card-body --> </div> <!-- /.card --> </div> <!-- /.col --> </div> <!-- /.row --> </div> <!-- /.container-fluid --> </section> <?php } else { ?> <section class="content"> <div class="container-fluid"> <div class="row"> <div class="col-12"> <div class="callout callout-success"> <h5> <strong><?php echo $results[0]['cod_interno']; ?> - <?php echo $results[0]['descricao']; ?> - <?php echo $results[0]['mrc_descr']; ?></strong> </h5> </div> <div class="card"> <div class="card-body"> <form id="frmHist" action="<?php echo base_url(); ?>admin/relatorios/imprHistory" method="post"> <div class="row"> <div class="col-lg-3"> <label for="dataInicial">Data Início:&nbsp;<span class="required">*</span></label> <div class="controls"> <input type="date" name="dataInicial" value="" class="form-control" style="width:70%;" required /> </div> </div> <div class="col-lg-3" style="margin-left:-70px;"> <label for="dataFinal">Data Final:&nbsp;<span class="required">*</span></label> <div class="controls"> <input type="date" name="dataFinal" value="" class="form-control" style="width:70%;" required /> </div> </div> <div class="col-lg-3" style="margin-left:-75px; margin-top:31px;"> <input type="hidden" id="idPrd" name="idPrd" value="<?php echo $results[0]['idProdutos']; ?>" /> <input type="hidden" id="idInt" name="idInt" value="<?php echo $results[0]['cod_interno']; ?>" /> <button type="submit" class="btn btn-success" formtarget="_blank"> <i class="fa fa-print"></i> Imprimir </button> &nbsp;&nbsp; <a href="<?php echo base_url() ?>admin/produtos" id="" class="btn btn-danger"><i class="fa fa-undo"></i> Voltar</a> </div> </div> <div class="clearfix"></div> <br/> <table id="tab_histprd" class="table table-bordered table-hover"> <thead style="background: #cecece;"> <tr> <th style="text-align:center;">Data Lançamento</th> <th style="text-align:center;">Nr Dcto</th> <th style="text-align:center;">Histórico do Produto</th> <th style="text-align:center;">Movimentação</th> <th style="text-align:center;">Resultado</th> </tr> </thead> <tbody> <?php $saldo = 0; foreach ($results as $r) { //Converte Data para Padrão Brasileiro $dta_hist = date(('d/m/Y'), strtotime($r['dtahist'])); if ($r['credito'] == 0) { $mvts = number_format($r['credito'], 0, ",", "."); $corc = '#000000'; } else { $mvts = number_format($r['credito'], 0, ",", ".").' +'; $corc = '#080871'; } if ($r['debito'] == 0) { $mvto = number_format($r['debito'], 0, ",", "."); $cors = '#000000'; } else { $mvto = number_format($r['debito'], 0, ",", ".").' -'; $cors = '#AF0F0F'; } //Executa Cálculo entre CRD x DEB $saldo = ($r['credito'] - $r['debito']) + $saldo; $result = number_format($saldo, 0, ",", "."); //Mostra da Tabela echo '<tr>'; echo '<td width="70" height="10" style="text-align:center;">' .$dta_hist. '</td>'; echo '<td width="70" height="10" style="text-align:left;">' .$r['numdcto']. '</td>'; echo '<td width="240" height="10" style="text-align:left;">' .$r['historico']. '</td>'; if($mvts != 0){ echo '<td width="90" height="10" style="text-align:right; color:'.$corc.'"> <strong>'.$mvts.'</strong></td>'; } elseif($mvto != 0) { echo '<td width="90" height="10" style="text-align:right; color:'.$cors.'"> <strong>'. $mvto.'</strong>&nbsp;</td>'; } else { echo '<td width="90" height="10" style="text-align:right;">0</td>'; } echo '<td width="90" height="10" style="text-align:right;">'.$result.'</td>'; echo '</tr>'; }//Fim do Foreach ?> </tbody> </table> <?php echo $paginar; ?> </form> </div> <!-- /.card-body --> </div> <!-- /.card --> </div> <!-- /.col --> </div> <!-- /.row --> </div> <!-- /.container-fluid --> </section> <?php } ?> </div> <?php $this->load->view('estilo/footer'); ?>  
       
      Grato a todos.
       
      Atenciosamente,
       
      Cesar
    • By landerbadi
      Olá pessoal, boa noite
       
      Tenho uma tabela no banco de dados mysql com três colunas (id, audio, tocado) e um player de audio html5 simples.
       
      <audio controls>
        <source src="horse.ogg" type="audio/ogg">
        <source src="horse.mp3" type="audio/mpeg">
      </audio>
       
      Fiz uma consulta no bd para me retornar um (1) registro. Com base nessa consulta o player toca o audio correspondente.
      Preciso fazer com que após o término do audio seja gravado na coluna 'tocado' no bd a palavra 'OK'.
      Tem como fazer isso?
    • By Matheus B. Siqueira
      Fala pessoal, meu problema é o seguinte: Tento retornar os valores do json_encode via AJAX, só que na hora de armazenar no const ele da erro de:
      <b>Notice</b>: Undefined variable: videos_pendentes in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br /> <br /> <b>Notice</b>: Trying to access array offset on value of type null in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br /> null); Não sei qual seria a melhor forma de retornar esses dados, alguma sugestão?
      AJAX:
      $('#btn-lista-videos-carousel').click(function() { var nome_monitor = $("#nomecomp").val(); $.ajax({ url: 'pesquisar_video_pendente.php', data: {nome_monitor}, dataType: 'json', type: "POST", complete: function(data) { const videos_pendentes = JSON.parse(<?php echo json_encode($videos_pendentes[0]) ?>); let itens = ''; let indicadores = ''; $('#botaobaixar').hide(); $('#tudo_monitor').hide(); $('#carouselExampleIndicators_2').hide(); if (videos_pendentes.length > 0) { videos_pendentes.forEach(function(video, indice) { indicadores += '<li data-target="#carouselExampleIndicators" data-slide-to="' + indice + '" class="' + (indice == 0 ? 'active' : '') + '"></li>' itens += '<div data-link_video="' + video.link_video + '" data-id="' + video.idvideo_monitor + '" data-titulo="' + video.titulo_video + '" data-situacao="' + video.situacao + '" class="carousel-item ' + (indice == 0 ? 'active' : '') + '">'; itens += ' <iframe width="100%" height="350" src="https://www.youtube.com/embed/' + video.link_video + '" frameborder="0" allowfullscreen></iframe>' itens += '</div>'; }); $('#tudo_monitor').show(); $('#carouselExampleIndicators').show(); $('#carousel-indicadores').html(indicadores); $('#carousel-itens').html(itens); } else { alert('Nenhum vídeo pendente'); } } }); }); E o meu PHP, a qual busca os dados no mysql:
      <?php $monitor = $_POST['nomecomp']; $servidor = 'localhost'; $usuario = 'root'; $senha = 'root'; $banco = 'onteach'; $conexao = mysqli_connect($servidor, $usuario, $senha, $banco); $consulta = "SELECT * FROM video_monitor WHERE video_monitor.monitor = '$monitor' AND video_monitor.pendente = 1 OR video_monitor.pendente = 3"; $resultados = mysqli_query($conexao, $consulta); $videos_pendentes = array(); while ($video = mysqli_fetch_assoc($resultados)) $videos_pendentes[] = $video; mysqli_free_result($resultados); mysqli_close($conexao); $videos_pendentes = json_encode($videos_pendentes); echo json_encode($videos_pendentes); ?>  
×

Important Information

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