Redefinição de senha em PHP.  Você sabe como fazer?

 

Olá Pessoal, esse é mais um vídeo com passo a passo do Desenvolvimento de Aplicações Web.

 

Hoje a gente vai aprender a desenvolver um recurso completo para Redefinição de senha em PHP.
Vamos gerar um link com uma chave de segurança, e depois fazer a validação do usuário e da chave para a redefinição da senha.

 

Para fazer isso, vamos usar como base uma aplicação de login, que fizemos na série de SQL Injection, onde vimos como fazer a autenticação do usuário de maneira segura. Se quiser ver esse post é só acessar Entendendo o SQL Injection.

 

Espero que esse conteúdo seja útil para você, e se você gostar, compartilha com seus amigos, eles também podem estar precisando de ajuda com o Desenvolvimento Web e a gente pode dar uma mãozinha. 🙂

Então…
curte, compartilha, deixa um comentário, enfim, participe e deixe a sua opinião.

 

Depois, acessa o Facebook, http://www.facebook.com/alexrosa.pagee deixa seu like na Fanpage.
Tem bastante novidades por lá também.

 

Vou deixar, no final da página, logo depois do vídeo, o código das funções que criamos no tutorial.

 

Até mais e bons estudos.

 

 

 

[VÍDEO] Como fazer redefinição de senha em PHP

 

 

conecta.php

<?php
include_once 'config.php';

class conecta extends config{
  var $pdo;
 
 function __construct(){
   $this->pdo = new PDO('mysql:host='.$this->host.';dbname='.$this->db, $this->usuario, $this->senha); 
 }
 
 function login($email, $senha){
   $stmt = $this->pdo->prepare("SELECT * FROM login WHERE email = :email AND senha = :senha");
   $stmt->bindValue(":email",$email);
   $stmt->bindValue(":senha",sha1($senha));
   $run = $stmt->execute();
   $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
   return $rs;
 }
 
 function geraChaveAcesso($email){
   $stmt = $this->pdo->prepare("SELECT * FROM login WHERE email = :email");
   $stmt->bindValue(":email",$email);
   $run = $stmt->execute();
 
   $rs = $stmt->fetch(PDO::FETCH_ASSOC);
   
    if($rs){
      $chave = sha1($rs["id"].$rs["senha"]);
      return $chave;
    }
 
 }
 
 
 function checkChave($email,$chave){
   $stmt = $this->pdo->prepare("SELECT * FROM login WHERE email = :email");
   $stmt->bindValue(":email",$email);
   $run = $stmt->execute();
 
   $rs = $stmt->fetch(PDO::FETCH_ASSOC);
 
   if($rs){
     $chaveCorreta = sha1($rs["id"].$rs["senha"]);
     if($chave == $chaveCorreta){
        return $rs["id"];
     }
   }
 }
 
 function setNovaSenha($novasenha,$id){
   $stmt = $this->pdo->prepare("UPDATE login SET senha = :novasenha WHERE id = :id");
   $stmt->bindValue(":novasenha",sha1($novasenha));
   $stmt->bindValue(":id",$id);
   $run = $stmt->execute();
 }
}

?>
  1. Jose Henrique da Silva

    Olá boa tarde, gostei muito do seu vídeo explicando muito bom e dinâmico.
    Eu queria saber algo diferente disso… Se você sabe algum Framework que manipule dados dentro de uma pagina administrativo que consiga fazer o seguinte… que selecione usuários para uma pagina temporária apenas para imprimir. sem mais para o momento agradeço.

  2. Alex, estou tentando implementar o seu tutorial para alterar a senha esquecida pelo usuario porém com a criptografia password_hash não está funcionando. sempre ele modifica o hash enviado pelo id do usuario + senha do usuario e não retorna o hash correspondente. já tentou fazer algo parecido?

Deixe uma resposta para João Victor Barreto Cancelar

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *