Fell Massy Postado Maio 22, 2012 Denunciar Share Postado Maio 22, 2012 <?phpinclude "conexao.php";$email = $_POST['email']; // Email digitado$antiga= $_POST['antiga']; // Senha Antiga digitada$nova = $_POST['nova']; // Senha Nova digitada$nova2 = $_POST['nova2']; // Confirmação da senha digitada$procura = mysql_query("SELECT * FROM tabela de usuarios WHERE email = '$email'"); //Faz a procura no banco de dados$encontrado=mysql_fetch_array($procura); // Imprime o resultado do banco de dados$db_email = $encontrado['email']; //Renomeia a coluna email$db_senha = $encontrado['senha']; //Renomeia a coluna senha$db_nome = $encontrado['nome']; //Renomeia a coluna nome$query="UPDATE usuarios_metlife SET senha='$senhaok' WHERE email = '$email' "; //Renomeia a ação de updateif ($nova==$nova2){$senhaok=$nova;}else {echo "Senhas novas não coicidem";}; //Verifica as 2 senha novas digitadasif ($email==$db_email){}else{echo "E-mail não existe";}; //Verifica E-mail digitado com E-mail do banco de dadosif($senhaok==$db_senha){$qry;}else{echo "Senha antiga incorreta";}; //Verifica senha antiga digitada com senha do banco de dados?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rodrigo Mafra Postado Maio 22, 2012 Denunciar Share Postado Maio 22, 2012 Se o bd não responde a query, pode ser que não esteja conectado.. já verificou ??se sim...$procura = mysql_query("SELECT * FROM tabela de usuarios WHERE email = '$email'"); //Faz a procura no banco de dadosdepois do FROM, verifica se a tabela é essa mesmo que você digitou.. eu acho que não.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fell Massy Postado Maio 22, 2012 Autor Denunciar Share Postado Maio 22, 2012 O nome da tabela esta correto por que se não apareceria a mensagem:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/public_html/alteracao_de_senha/mudar.php on line 13 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rodrigo Mafra Postado Maio 22, 2012 Denunciar Share Postado Maio 22, 2012 O nome da tabela esta correto por que se não apareceria a mensagem:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/public_html/alteracao_de_senha/mudar.php on line 13seu código sql está errado.primeiro: o nome da tabela não pode ficar entre espaço em branco.segundo: essa tabela ai ta muito escrota rs....faz o seguinte. acessa a base de dados.e verifica o nome da tabela.pega o nome correto dela. ( o nome que ta lá na tabela) e substitui no lugar de tabela de usuariosse dé erro cola o nome da tabela aqui pra eu ver. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fell Massy Postado Maio 22, 2012 Autor Denunciar Share Postado Maio 22, 2012 Na verdade o nome da tabela é só usuários kkk, coloquei "tabela de usuarios" só para explicarse quiser testar ta aki o link http://lekagrafica.com.br/alteracao_de_senha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fell Massy Postado Maio 22, 2012 Autor Denunciar Share Postado Maio 22, 2012 Link: http://lekagrafica.com.br/alteracao_de_senhaEmail: teste@teste.comSenha: senha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rodrigo Mafra Postado Maio 22, 2012 Denunciar Share Postado Maio 22, 2012 (editado) hummmmse você que manipular os dados do array tem q colocar num laço for ou whilepara acessar os dados no array.$encontrado=mysql_fetch_array($procura); // Imprime o resultado do banco de dadosapaga issotenta assim carawhile ($encontrado = mysql_fetch_array($procura)) { $db_email = $encontrado[0] ; // 0 para email. o numero vai depender das colunas q você tem no banco$db_senha = $encontrado[1]; /$db_nome = $encontrado[2]; /}da uma olhada nessa função no http://php.net/manual/pt_BR/function.mysql-fetch-array.phpessa função que você esta usando ela salva os indices como números..para salvar os indices de acordo com o nome da tabela lá na base é essa mysql_fetch_assoc(); ai sim você pode colocar $encontrado['email] que e o nome q ta la na tabela.e você tava querendo setar os valores sem precorrer o array.foi mal ai pelos meus erros gramaticais.abraços... Editado Maio 22, 2012 por Rodrigo Mafra Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JaguA Postado Maio 22, 2012 Denunciar Share Postado Maio 22, 2012 (editado) aqui diz que o e-mail e a senha estão incorretos.a sua logica esta completamente erradaPrimeiro fazemos os IF de comparação se não houver erros fazemos o Update e não precisia colocar na variaveis tantas vezes, é disperdiço de tempo digitando códigos como de tempo de execução ocm linhas a mais desnecessarias...Fiz um de exemplo para você ver, ele altera senha de acordo com o e-mai digitado analisando a senha antiga com a nova mais uma confirmação...Verifica se o e-mail realmente existe, se a senha atual confore com a do banco e se as 2 novas estão de acordo e já imprimi a mensagem dexei comentado tambem para melhor entender.<?php //Este arquivo conecta um banco de dados MySQL - Servidor = localhost $dbname="teste"; // Indique o nome do banco de dados que será aberto $usuario="root"; // Indique o nome do usuário que tem acesso $password=""; // Indique a senha do usuário //1º passo - Conecta ao servidor MySQL if(!($id = mysql_connect("localhost",$usuario,$password))) { echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador."; } //2º passo - Seleciona o Banco de Dados if(!($con=mysql_select_db($dbname,$id))) { echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador."; } ?> <form action="" method="post"> <table align="center" border="0" cellpadding="1" cellspacing="1"> <tr> <td><center>EMAIL</center></td> <td><center>SENHA ATUAL</center></td> <td><center>SENHA</center></td> <td><center>CONFIRMA SENHA</center></td> </tr> <tr> <td><input type="text" name="email" /></td> <td><input type="text" name="senha_atual" /></td> <td><input type="text" name="senha" /></td> <td><input type="text" name="senha2" /></td> </tr> <tr> <td> </td> <td><input type="submit" value="Alterar Senha" /> </td> <td> </td> </tr> </table> </form> <?php // se exister alguma ação do metodo POST executa os comandos abaixo. if($_POST) { $erro = 0; // variavel erro recebe 0 if(($_POST['senha']) != ($_POST['senha2']) or empty($_POST['senha'])) { // se as 2 senhas digitadas não coincidirem erro recebe valor 1 e imprimi mensagem de erro. echo '<h5 style="color:red;"> Senhas não conferem </h5>'; $erro = 1; } if($erro == 0){ // se não houver erro executa essa parte do script $email = $_POST['email']; $senha = $_POST['senha']; $senha_atual = $_POST['senha_atual']; $query = mysql_query("SELECT * FROM user WHERE email = '$email'"); // seleciona os dados que foi digitado $num = mysql_num_rows($query); // pega o numero de registros com o mesmo e-mail $array = mysql_fetch_assoc($query); // colcoa em array os valore dos campos if($num != 1) { // caso o numero de registro seja diferente de 1 a variavel erro recebe 1 $erro = 1; } if($erro == 0 and $array['senha'] == $senha_atual and $array['email'] == $email ) { // se a variavel erro for = 0 a senha digitada for = a do banco e o e-mail digitado for = a do banco faça. $exe = mysql_query("UPDATE user SET senha = '$senha' WHERE email = '$email' "); // atualiza a senha igual a que esta digitada de acordo com o email echo 'Senha Atualizada com Sucesso!'; // imprime mensagem de sucesso. } else { // caso a condição acima for errada imprimi mensagem de erro. echo '<h5 style="color:red;"> Senha atual ou Email digitado não confere. </h5>'; } } } ?>se você estiver com duvida em algo é so falar. Editado Maio 22, 2012 por JaguA Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fell Massy Postado Maio 23, 2012 Autor Denunciar Share Postado Maio 23, 2012 Vlw Rodrigão tinha me esquecido do While. Adicionei ele aqui e deu certinho.Mais JaguA tu é foda kkk. Seu código é uma obra de arte kkk.Depois passem os MSN aew pra mim. VLW!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rodrigo Mafra Postado Maio 23, 2012 Denunciar Share Postado Maio 23, 2012 Vlw Rodrigão tinha me esquecido do While.De boa cara.Eu só respondi o que você tinha perguntado, e arrumar aquele erro que você mostrou, Por que minha intensão era pra que você entenda o erro pra não errar mais.. rs..+ também gostei da atitude do jaguar em ter feito bonitinho para você rs.. ( Eu acho que ele ficou com intrigado com seu código e resolveu fazer um novo pra você . rs.. zuera cara, não leva a mal).Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Fell Massy
<?php
include "conexao.php";
$email = $_POST['email']; // Email digitado
$antiga= $_POST['antiga']; // Senha Antiga digitada
$nova = $_POST['nova']; // Senha Nova digitada
$nova2 = $_POST['nova2']; // Confirmação da senha digitada
$procura = mysql_query("SELECT * FROM tabela de usuarios WHERE email = '$email'"); //Faz a procura no banco de dados
$encontrado=mysql_fetch_array($procura); // Imprime o resultado do banco de dados
$db_email = $encontrado['email']; //Renomeia a coluna email
$db_senha = $encontrado['senha']; //Renomeia a coluna senha
$db_nome = $encontrado['nome']; //Renomeia a coluna nome
$query="UPDATE usuarios_metlife SET senha='$senhaok' WHERE email = '$email' "; //Renomeia a ação de update
if ($nova==$nova2){$senhaok=$nova;}else {echo "Senhas novas não coicidem";}; //Verifica as 2 senha novas digitadas
if ($email==$db_email){}else{echo "E-mail não existe";}; //Verifica E-mail digitado com E-mail do banco de dados
if($senhaok==$db_senha){$qry;}else{echo "Senha antiga incorreta";}; //Verifica senha antiga digitada com senha do banco de dados
?>
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.