• 0
Sign in to follow this  
Fell Massy

Banco de dados não responde!

Question

<?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

?>

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

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 dados

depois do FROM, verifica se a tabela é essa mesmo que você digitou.. eu acho que não.

Abraços.

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0
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

seu 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 usuarios

se dé erro cola o nome da tabela aqui pra eu ver.

Share this post


Link to post
Share on other sites
  • 0

hummmm

se você que manipular os dados do array tem q colocar num laço for ou while

para acessar os dados no array.

$encontrado=mysql_fetch_array($procura); // Imprime o resultado do banco de dados

apaga isso

tenta assim cara

while ($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.php

essa 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...

Edited by Rodrigo Mafra

Share this post


Link to post
Share on other sites
  • 0

aqui diz que o e-mail e a senha estão incorretos.

a sua logica esta completamente errada

Primeiro 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.

Edited by JaguA

Share this post


Link to post
Share on other sites
  • 0

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!!!

Share this post


Link to post
Share on other sites
  • 0
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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this