Ir para conteúdo

Arquivado

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

wilsoncrescencio

Não consigo resultado na alteração de senha com php + mysql

Recommended Posts

Olá pessoal bom dia.

Não sei o que estou fazendo de errado, não consigo ver o erro.

Tenho um formulário - troca.senha.php - para poder fazer a alteração de senha:

 <form name="formLogin" method="post"  ACTION="trocarsenha.php?">

        <fieldset>  
            <label>
			<span>Login:</span>
            <input type="text" name="nomelogin" >
           </label><BR>
            
            <label>
			<span>Senha Atual:</span>
            <input type="text" name="senha" >
           </label><BR>
            
            <label>
			<span>Nova Senha:</span>
            <input type="text" name="novasenha" >
			</label><br>
			
            <label>
			<span>Confirma Nova Senha:</span>
            <input type="text" name="confirmasenha" >
			</label><br>
			
			<label>
            <input type="reset" class="send" name="limpar" value="Limpar" width="20%">
                  <INPUT  type="submit" class="send" NAME="enviar" VALUE="Executar troca"></td>
			</label>
		</fieldset>
            </form>

 

Tenho uma página php - trocarsenha.php - com os códigos em php:

<?php require('../Connections/connect.php');?>
<?php
if (isset($_POST['enviar'])){
$login           = $_POST['nomelogin'];
$senhavelha      = $_POST['senha'];
$senhanova       = $_POST['novasenha'];
$senhaconfirmada = $_POST['confirmasenha'];

// consulta na tabela usuarios com while
$consulta  = mysql_query("Select senha FROM usuarios WHERE login = '".$login."'") or die('Erro: ' . mysql_error()); 
$resultado = mysql_query($consulta);?>
<?	
while ($linha = mysql_fetch_array($consulta)){ 	
$senhadobanco = $linha["senha"]; 
?>
<?	
} //fim while	
?>

<?php

if (($senhanova) OR ($senhaconfirmada) == "" ){
	echo "Insira a nova senha!";
}else{
if ($senhavelha<>$senhadobanco){
	echo "Senha Atual Não Confere!";
	}else{
if ($senhanova<>$senhaconfirmada){
	echo "Campos da nova senha não conferem!";
	}else{	
        $update = mysql_query("UPDATE usuarios SET senha='".$senhanova."' WHERE login='".$login."';");
        if ($update){
                echo "<br> Senha alterada com sucesso.";
        }
        else {
                echo "<br>Ocorreu um erro para alterar a senha";
        }
}
}
}
}
?>

 

Utilizo o formulário e não obtenho nenhuma mensagem de erro nem de confirmação e também não faz a alteração necessária na tabela desejada.

Onde está o erro que não consigo ver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Wilson,

 

Então, como você está usando PHP na página toda, não precisa abrir e fechar a tag php toda hora xD!

 

Caso queria fazer assim, abra a tag <?php e não a short tag (<?) ;)

<?php
	if (isset($_POST['enviar'])){
		$login           = $_POST['nomelogin'];
		$senhavelha      = $_POST['senha'];
		$senhanova       = $_POST['novasenha'];
		$senhaconfirmada = $_POST['confirmasenha'];


		// consulta na tabela usuarios com while
		$consulta  = mysql_query("Select senha FROM usuarios WHERE login = '".$login."'") or die('Erro: ' . mysql_error()); 
                // Aqui vc está dando um mysql_query em um mysql_query ^^
		//$resultado = mysql_query($consulta);


		while ($linha = mysql_fetch_array($consulta)){ 	
		$senhadobanco = $linha["senha"]; 
		} //fim while	


                   
                // ERRO DE CONDIÇÃO
		if (($senhanova == "") OR ($senhaconfirmada) == "" ){
			echo "Insira a nova senha!";
		} else {
		
			if ($senhavelha != $senhadobanco){
				echo "Senha Atual Não Confere!";
			} else {
				if ($senhanova<>$senhaconfirmada){
					echo "Campos da nova senha não conferem!";
				} else{	
					$update = mysql_query("UPDATE usuarios SET senha='".$senhanova."' WHERE login='".$login."';");
					if ($update){
							echo "<br> Senha alterada com sucesso.";
					}
					else {
							echo "<br>Ocorreu um erro para alterar a senha";
					}
				}
			}
		}
	}
?>

 

Acho que é isso Wilson!

 

Espero ter ajudado.

 

Boa sorte o/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitíssimo obrigado... deu resultado.

Obrigado rleao, vc me ajudou e muito, tanto resolvendo o problema com php, como me orientando a ser mais organizado na codificação.

Agradecido.

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.