Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

girotto000

Problema com formulario de recuperação de senha

Recommended Posts

Código PHP:

 

 

 

 

<?php
session_start();
$conexao = mysqli_connect("localhost","root","wamp","ragnarok");
$login=$_POST['login'];
$email=$_POST['email'];
 

$query = "SELECT * FROM `login` WHERE userid = '$login' AND email = '$email'";
    $resultado = mysqli_query($conexao, $query) or die(mysqli_error($conexao));
    $campo = mysqli_fetch_array($resultado);
    if($campo > 0)  {
        while($Row_email = mysqli_fetch_array($resultado)){
        $rowlogin = $Row_email['login'];
        $rowemail = $Row_email['email'];
        $rowuser_pass = $Row_email['user_pass'];
        }
            $msg  = "Recuperação de senha" . chr(13) . chr(10);
      $msg .= "Senha enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10);
      $msg .= "Login : " . $login . chr(13) . chr(10);
      $msg .= "Email : " . $email . chr(13) . chr(10);
      $msg .= "Senha : " . $user_pass . chr(13) . chr(10);
 
      $Remetente = "guiga741@gmail.com"; //remetente do email, coloque o email do seu site
 
      mail($email, "Recuperação de Senha",$msg,"From: $Remetente\n"); //campos do email na ordem, email destinho (não deve ser alterada), assunto, conteudo (não deve ser alterado), remetente (também não altere)
 
      echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Sua senha foi enviada com sucesso para o email: $email.</font></div>"; //resposta se o email foi enviado com sucesso
      } else {
            echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Seu login ou email está incorreto.</font></div>"; //resposta se não foi possivel enviar o email
            }
?>

 

 

 

Erro: http://puu.sh/gmN92/2b5ffefccd.png

 

Linha 48:

 

$msg .= "Senha : " . $user_pass . chr(13) . chr(10);

 

Preciso de ajuda para resolver este erro e entender a seguinte parte do código que eu não estou entendendo a função..

 

 

if($campo > 0)  {
        while($Row_email = mysqli_fetch_array($resultado)){
        $rowlogin = $Row_email['login'];
        $rowemail = $Row_email['email'];
        $rowuser_pass = $Row_email['user_pass'];
        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é claro, a variável $user_pass não existe... provavelmente o correto seria:

 

$Row_email = mysqli_fetch_array($resultado);
$rowlogin = $Row_email['login'];
$rowemail = $Row_email['email'];
$user_pass = $Row_email['user_pass'];

Com isto seria criado a variável que está faltando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

O erro é claro, a variável $user_pass não existe... provavelmente o correto seria:

 

 

$Row_email = mysqli_fetch_array($resultado);
$rowlogin = $Row_email['login'];
$rowemail = $Row_email['email'];
$user_pass = $Row_email['user_pass'];
Com isto seria criado a variável que está faltando.

Opa obrigado pela resposta. Essas variaveis row servem para consultar no banco de dados? Pois eu nao declarei a variavel user_pass porque n existe este campo no meu formulário, já q é um de recuperacao de senha e o usuario obviamente n tem a senha rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, a consulta foi feito anteriormente:

$resultado = mysqli_query($conexao, $query) or die(mysqli_error($conexao));

O array $Row_email apenas tem o retorno da consulta...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, a consulta foi feito anteriormente:

$resultado = mysqli_query($conexao, $query) or die(mysqli_error($conexao));
O array $Row_email apenas tem o retorno da consulta...

Entendi. Então no caso eu tenho qur mandar a query consultar também a senha que vai ser recuperada correto? Pq nesse código eu so mando a query verificar o login e o email que são os digitados no formulario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Errado... se o seu objetivo é recuperar a senha basta o e-mail/login, em tese o que foi feito é o que deve ser feito, só havia o problema referente a variável e nada mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Errado... se o seu objetivo é recuperar a senha basta o e-mail/login, em tese o que foi feito é o que deve ser feito, só havia o problema referente a variável e nada mais.

Entendi.

Testei só agora o seu código e retornou o seguinte:

 

 

Parse error: syntax error, unexpected ';' in

Compartilhar este post


Link para o post
Compartilhar em outros sites

girotto000, uma dica, SEMPRE e repetindo, SEMPRE poste o script inteiro, infelizmente muitas vezes a gente tem que utilizar quase que da clarividência para adivinhar o erro, postar apenas isto dai não me diz absolutamente nada... posta o script completo exatamente como ele está agora neste momento que está retornando o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

girotto000, uma dica, SEMPRE e repetindo, SEMPRE poste o script inteiro, infelizmente muitas vezes a gente tem que utilizar quase que da clarividência para adivinhar o erro, postar apenas isto dai não me diz absolutamente nada... posta o script completo exatamente como ele está agora neste momento que está retornando o erro.

Desculpe, mas esse editor do imasters TODA HORA corta meus posts pela metade.. Eu tinha postado tudo mas não foi!

Eu editei o código novamente e funcionou perfeitamente. Antes tinha dado o erro pois eu manti o while.

Muito obrigado pela sua ajuda resolveu o problema ;)

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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