Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 198
Sexo: Masculino

alterar senha em php + mysqli

12-05-2015 20:15

Boa noite, estou a tentar fazer um update da minha senha ,tudo acontece bem, o script criado verifica todos os possiveis erros, como por ex, nao fazer update com a textbox vazia , com a confirmaçao das senhas 1 e 2 estando iguais, etc e por fim verificado isto tudo, clico para fazer o update...so que na base de dados o update não é realmente feito.... :( .
ponho aqui o script , para se alguem me puder ajudar, eu agradecia imenso!

script:

<?php $erro = ''; $erro_2 = ''; $erro_3 = ''; if(isset($_REQUEST['alterar_senha'])) { //definir variaveis a serem usadas... $senha = trim($_POST['senha']); $senha_2 = trim($_POST['senha_2']); $senha_3 = trim($_POST['senha_3']); //query para verificar a senha atual $senha_atual = $ligacao->query("SELECT senha_utilizador FROM utilizadores WHERE nivel_utilizador = 'ADMIN' "); $conclusao = mysqli_fetch_array($senha_atual); // ERROS // 1 - Nenhum campo pode estar vazio if($senha == "" || $senha_2 == "" || $senha_3 == "") { $erro = "Os campos não podem ficar vazios!"; } // 2 - a senha_1 e a senha_2 têm de coincidir elseif($senha_2 != $senha_3) { $erro_2 = "As senhas não coincidem!"; } // 3 - a senha introduzida tem de coincidir com a da base de dados elseif($senha != $conclusao['senha_utilizador']) { $erro_3 = "A senha não coincide com a senha atual!"; } //se tudo estiver ok , faz-se então o update! PORQUÊ NÃO FAZ REALMENTE A ATUALIZAÇÃO????? elseif($senha != "" && $senha_2 != "" && $senha_3 != "") { $alterar = $ligacao->query("UPDATE utilizadores SET senha_utilizador = '$senha' WHERE nivel_utilizador = 'ADMIN' "); $erro = "Senha alterada com sucesso !"; } } ?> <!--ALTERAR SENHA - fim-->


[ FORM ] <form name="" action="" method="post"> <label for="pass">Senha atual:</label> <br /> <input type="password" name="senha" id="pass" /> <?php echo $erro_3 ?><br /> <label for="pass_2">Nova senha:</label> <br /> <input type="password" name="senha_2" id="pass_2" /> <br /> <label for="pass_3">Confirmar nova senha:</label> <br /> <input type="password" name="senha_3" id="pass_3" /> <?php echo $erro_2 ?> <br /> <br /> <input type="submit" name="alterar_senha" value="Alterar senha" /> <br /> <br /> <?php echo $erro ?> </form>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17507
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: alterar senha em php + mysqli

12-05-2015 20:26

Tenta o seguinte

$ligacao->query("UPDATE utilizadores SET senha_utilizador = '$senha' WHERE nivel_utilizador = 'ADMIN' ") or die(mysqli_error($ligacao));

Dessa forma você vai obter o erro que está acontecendo.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 198
Sexo: Masculino

Re: alterar senha em php + mysqli

13-05-2015 09:35

ola boa tarde, fiz exactamente como me aconselhou e não apresentou qualquer erro... :(
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17507
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: alterar senha em php + mysqli

13-05-2015 13:19

O if chega nesse echo quando as senhas estão corretas?

$erro = "Senha alterada com sucesso !";

Se chega, faz um echo em $senha e verifica se o nivel_utilizador está correto.

Testa também inserir com um valor manual. Troca o valor $senha por 12345.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 198
Sexo: Masculino

Re: alterar senha em php + mysqli  #resolvido

13-05-2015 18:30

DESCOBRI O 'GALHO' ,WEB!!!
O ERRO ESTAVA NA VARIAVEL ,POIS A VARIAVEL SENHA( $SENHA ) CONFIRMAVA SE ERA IGUAL A DA BASE DE DADOS...E A ($SENHA_2) ERA A QUE INTRODUZIA O NOVO VALOR , COM A CONFIRMAÇÃO DA ($SENHA_3) !!!

CORRETO:

$alterar = $ligacao->query("UPDATE utilizadores SET senha_utilizador = '$senha_2' WHERE nivel_utilizador = 'ADMIN' ") or die(mysqli_error($ligacao) );

NÃO CORRETO:

$alterar = $ligacao->query("UPDATE utilizadores SET senha_utilizador = '$senha' WHERE nivel_utilizador = 'ADMIN' ") or die(mysqli_error($ligacao) );

OBRIGADO PELO SEU ESFORÇO :) , VALEU !
1

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado