Jump to content


Photo

Esqueci-me Da Senha Script


  • Faça o login para participar
19 replies to this topic

#16 paulojrpb_php

paulojrpb_php

    12 Horas

  • Usuários
  • 121 posts
  • Sexo:Não informado

Posted 10/04/2006, 17:02

Esse erro é pq vc não selecionou um banco de dados.. vc tem q selecionar um e dentro dele cadastrar a tabela com os campos q vc quer usar.. blz!?

Só volto por aqui talvez amanhã.. mais vai postando aí q te ajudamos.. h-lera aqui é show!

T+
"Não te estribes no teu próprio entendimento!!!"
Paulo Jr. PHP Development (Intermediary)

#17 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 12/04/2006, 04:53

Pelo visto vc quer um script pronto neh ??

Enfim veja se isso te ajuda ...

Parto do ponto que o user clicou no link ( Ex.: ESQUECI A MINHA SENHA ).

Aperece um form para ele digitar o endereço de email dele que está cadastrado no BD

Através deste email que o script buscará a senha dele no bd ... como já foi mencioando mais acima em outros posts.

Para facilitar este form além do email pode mandar mais um dado em um campo hidden... veja abaixo:


form.php

<form name="form1" method="post" action="recupera_senha.php">
<input name="email" type="text" >
<input name="recupera" type="hidden" value="recupera">
<input name="Submit" type="submit" value="Recuperar Senha!"></td>
</form>


Atente ao negrito ...

Continuemos...

O meliante entrou com o seu email no INPUT TEXT e enviou para o script abaixo:

recupera_senha.php


<?php

include 'config.php'; 

/* Enfim sua conexão com o bd ... não me responsabilizo por má edição na sua sintaxe de conexão ... */


switch($_POST['recupera']){ 
	
default: 
include 'form.php'; 
break; 
case "recupera": 
recupera_senha($_POST['email']); // aplicando a função na conta de email enviada pelo form 
break; 
}
 
function recupera_senha($email){ // função que fará o trabalho pesado
	
  if(!$email){ 
  print "Você esqueceu de preencher seu email. 
  <strong>Use o mesmo email que utilizou em seu cadastro.</strong><br />";
  include 'form.php';
  exit(); 
  } 
	   
  $sql_check = mysql_query(
  
  "SELECT senha,usuario FROM tabela WHERE email='$email'"

  ) or die (mysql_error());

  $sql_check_num = mysql_num_rows($sql_check); 

  if($sql_check_num == 0){ 

  print "O endereço não está cadastrado em nossa base de dados.<br />"; 
  include 'form.php'; 

  } // fecha if
  else{

  $recupera = mysql_fetch_array($sql_check);

  $senha = $recupera[0];
  $usuario = $recupera[1];

  $subject = "Recuperando sua Senha!";
  $message = "Olá, bla bla bl bla.

  Usuário: $usuario
  Senha: $senha

  bla bla bla";

  mail(

  $email, $subject, $message, "From: Teu Site<teu email@teussite.com.br>"

  );

  print "Sua senha foi enviada para o seu email cadastrado!<br />
  Veja se não esquce da próxima vez mané ... rs*";

  } // fecha else
} // fecha função

?>


... está passível de erros ... não testei ... mas testa ae por favor.

(y)Até mais

#18 CWEBNET

CWEBNET

    Normal

  • Usuários
  • 107 posts
  • Sexo:Não informado

Posted 12/04/2006, 09:20

Antes demais deixe-me agradecer a ajuda, o script funcionou o problema é que nunca conectava à bd já nos outros acima acontecia o mesmo e porquê? Porque eu uso a conecção do Dw e os scripts do pessoal não estavam adaptados a essa conecção então coloquei os dados todos em vez do include e ficou assim se me premitem para ajudar outros necessitados como eu!


<?php
$dbh=mysql_connect ("localhost", "username", "password") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("base_de_dados");

// A conecção que foi substituida por a de cima, que é a nativa do dreamwaver.<?php require_once('../../Connections/connConeccao.php'); ?>///

switch($_POST['recupera']){

default:
include 'recuperaForm.php';
break;
case "recupera":
recupera_senha($_POST['email']); // aplicando a função na conta de email enviada pelo form
break;
}

function recupera_senha($email){ // função que fará o trabalho pesado

if(!$email){
print "Você esqueceu de preencher seu email.
<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br />";
include 'recuperaForm.php';
exit();
}

$sql_check = mysql_query(

"SELECT campo_user,campo_pass FROM tabela WHERE email='$email'"

) or die (mysql_error());

$sql_check_num = mysql_num_rows($sql_check);

if($sql_check_num == 0){

print "O endereço não está cadastrado em nossa base de dados.<br />";
include 'recuperaForm.php';

} // fecha if
else{

$recupera = mysql_fetch_array($sql_check);

$campo_pass = $recupera[0];
$campo_user = $recupera[1];

$subject = "Recuperando sua Senha!";
$message = "Olá, bla bla bl bla.

Usuário: $campo_user
Senha: $campo_pass

bla bla bla";

mail(

$email, $subject, $message, "From: Teu Site<webmaster@website.net>"

);

print "Sua senha foi enviada para o seu email cadastrado!<br />
Veja se não esquce da próxima vez mané ... rs*";

} // fecha else
} // fecha função

?>

Obrigado a todos que me ajudaram neste tópico em particular!
Bons Trabalhos
Disponíbilidade e Humildade faz o Profissional!

#19 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 12/04/2006, 10:57

Que bom que funcionou e para complementar ... vc pode enviar esse email com usuário e senha parao destinatário em formato HTML .... isso vc encontra aqui mesmo no fórum de php ... como fazer ... e aos montes.

(y) Até mais

#20 CWEBNET

CWEBNET

    Normal

  • Usuários
  • 107 posts
  • Sexo:Não informado

Posted 12/04/2006, 21:15

Que bom que funcionou e para complementar ... vc pode enviar esse email com usuário e senha parao destinatário em formato HTML .... isso vc encontra aqui mesmo no fórum de php ... como fazer ... e aos montes.

(y)



Sim. sim eu fiz exactamente isso, adpatei à minha maneira e ele envia todos os dados ao usuário (nome, email, pass, user e todos os dados que estão no bd) para o seu email, inclui os $headers etc.
Formatei a fonte, inclui uma opção fechar janela, na página de confirmação ou seja na mensagem de sucesso menciona para onde foi os dados mencionando o email do usuário .
O meu problema era mesmo a conecção a sua mensagem de (não responsabilizo pela sintaxe do conf.php) fez-me abrir os olhos e daí o clique ah é isso mesmo...
Bom o meu muito obrigado mais uma vez.
Acho que este script havia de estar na área dos turturiais e/ou dúvidas dos script prontos visto que nenhum funciona (pelo menos não consegui, mas provavelmete era pelo motivo da conecção) se for necessário posso disponibilizar já todo formatado e direitinho (obviamente com os seus créditos) pois bem merceu.
OBRIGADO A TODOS OS QUE ME AJUDARAM NESTE TÓPICO.
Disponíbilidade e Humildade faz o Profissional!




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq