Ir para conteúdo

POWERED BY:

Arquivado

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

Kanzen

[Resolvido] Erro alterar senha

Recommended Posts

Pessoal, estou com problemas no arquivo que faz a alteração de senha dos membros cadastrados

 

mudar_pass.php

<?php
if (!isset($_SESSION)) session_start();
if (!isset($_SESSION['UsuarioID'])) {
	session_destroy();
	header("Location: index.php"); exit;
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Alterar Senha</title>
</head>

<body>
<center>
<form action="mudar_pass2.php" method="post">
<img src='img/logo.png' />
<table align="center">
<tr><td>Senha Atual</td><td><input type="password" id="oldpass" /></td></tr>
<tr><td>Nova Senha</td><td><input type="password" id="newpass" /></td></tr>
<tr><td>Repita a Senha</td><td><input type="password" id="confpass" /></td></tr>
<tr><td></td><td><input type="submit" value="Alterar" /></td></tr>
 </table>
</form>
<p><a href='admin.php'a><strong>Voltar</strong></a></p></center>
</body>
</html>

mudar_pass2.php

<?php
if (!isset($_SESSION)) session_start();
if (!isset($_SESSION['UsuarioID'])) {
	session_destroy();
	header("Location: index.php"); exit;
}
?>
<html><head><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<?php 
if (!empty($_POST) AND (empty($_POST['newpass']) OR empty($_POST['confpass']) OR empty($_POST['oldpass']))) {
	echo "<center><img src='img/logo.png' /><p>Os campos não foram preenchidos corretamente!</p>";
	echo "<p><a href='mudar_pass.php'a>Voltar</a></p></center>";
}
else {

$old = $_POST['oldpass'];
$new = $_POST['newpass'];
$conf = $_POST['confpass'];

	 include ('conec.php');
		 $declar = "SELECT pass FROM professor WHERE professores = '".$_SESSION['UsuarioNome']."'";
		 $query = mysql_query($declar) or die(mysql_error());
		 if (mysql_result($query,0) != $old) {
			 echo "<center>A senha atual está incorreta!<p><a href='mudar_pass.php'a>Voltar</a></p></center>";}
			 else {
if ($new = $conf){
		 $declar2 = "SELECT ID FROM professor WHERE professores = '".$_SESSION['UsuarioNome']."'";
		 $query2 = mysql_query($declar2) or die(mysql_error());
		 $ID = mysql_result($query2,0);

		 $sql = "SELECT * FROM professor WHERE ID = '".$ID."'";
         $qr = mysql_query($sql) or die(mysql_error());
		 
		 $new = sha1($new);
		 $sql2 = "UPDATE professor set pass='$new' WHERE ID = '".$ID."'";
         $qr2 = mysql_query($sql2) or die(mysql_error());
		 if ($qr2){
			 echo "<center><img src='img/logo.png' /><p>Senha alterada com sucesso!</p><p><a href='admin.php'><strong>Voltar</strong></a></p> </center>";} else {echo "<center><img src='img/logo.png' /><p>Houve um erro! A senha não foi alterada!</p><p><a href='admin.php'><strong>Voltar</strong></a></p> </center>"; } 
		 
		 }}
?>

se alguém puder me ajudar =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, você tem que postar seu erro, o que tá acontecendo. Se o browser mostrar alguma mensagem de erro, posta aí também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha eu acabei de dar um limpada no código

 

<?php
if (!isset($_SESSION)) session_start();
if (!isset($_SESSION['UsuarioID'])) {
	session_destroy();
	header("Location: index.php"); exit;
}
?>
<html><head><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<?php 
if (!empty($_POST) AND (empty($_POST['oldpass']) OR empty($_POST['newpass']) OR empty($_POST['confpass']))) {
	echo "<center><img src='img/logo.png' /><p>Os campos não foram preenchidos corretamente!</p>";
	echo "<p><a href='mudar_pass.php'a>Voltar</a></p></center>";
}
else {

$old = $_POST['oldpass'];
$new = $_POST['newpass'];
$conf = $_POST['confpass'];

	 include ('conec.php');
		 $declar = "SELECT pass FROM professor WHERE professores = '".$_SESSION['UsuarioNome']."'";
		 $query = mysql_query($declar) or die(mysql_error());
		 if (mysql_result($query,0) != $old) {
			 echo "<center>A senha atual está incorreta!<p><a href='mudar_pass.php'a>Voltar</a></p></center>"; exit;}

if ($new = $conf){
		 $new = sha1($new);
		 $sql2 = "UPDATE professor set pass='$new' WHERE professores = '".$_SESSION['UsuarioNome']."'";
         $qr2 = mysql_query($sql2) or die(mysql_error());
		 if ($qr2){
			 echo "<center><img src='img/logo.png' /><p>Senha alterada com sucesso!</p><p><a href='admin.php'><strong>Voltar</strong></a></p> </center>";} 
             else {
             echo "<center><img src='img/logo.png' /><p>Houve um erro! A senha não foi alterada!</p><p><a href='admin.php'><strong>Voltar</strong></a></p> </center>"; 
             } } }
?>

O problema está sendo que não importa o q eu escreva no formulario ele retorna com a msg "A senha atual está incorreta!"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, faça o seguinte.

 

                 $declar = "SELECT pass FROM professor WHERE professores = '".$_SESSION['UsuarioNome']."'";
                 $query = mysql_query($declar) or die(mysql_error());
                 echo 'A senha do banco é '.mysql_result($query,0).' e a senha digitada é '.$old;
                 if (mysql_result($query,0) != $old)

Veja se aparecem iguais.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kanzen, que bom que resolveu. Seria interessante que você postasse como ficou o código corrigido, para ajudar alguém no futuro com o mesmo problema.

 

Carlos Eduardo

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.