Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou "apanhando" já faz um tempo para comparar a senha atual com a nova senha antes de alterá-la no banco de dados... Vejam:
(conecta.php)
Ao logar todos os dados do usuário vão para a sessão
login, nome, email, foto e até mesmo a senha (já tô apelando.. rsrs)
(update.php)
Para trocar a senha entre outros como nome e nascimento, caso o usuário queira corrigir, só não pode deixar em branco.
No update.php, existe uma comparação da senha atual com a senha no banco de dados... vejam:
if($_POST['atual'] != $senha)
{
echo "<script language='javascript'>alert('Senha atual incorreta!');history.go(-1);</script>";
exit;
}
Quando faço teste OFF line, funfa legal, mas quando faço teste ON line e colocando a senha CORRETA sempre aparece o alerta "Senha atual incorreta!"
Muito complicado SESSION, sei que é seguro mas dá um trabalho...
Estou postando o update.php completo para pedir ajuda, caso alguém saiba o que fazer.
Muito obrigado!
<?php
include "config.php";
session_start();
if($_GET['acao']=="atualizar")
{
$nome = $_POST['nome'];
$dia = $_POST['dia'];
$mes = $_POST['mes'];
$ano = $_POST['ano'];
$atual = $_POST['atual'];
$nova = $_POST['nova'];
$confirma = $_POST['confirma'];
$_SESSION['usuario_id'] = $usuario_id;
$_SESSION['senha'] = $senha;
$sql = "SELECT * FROM usuarios WHERE usuario_id ='{$usuario_id}'";
$sql = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($sql)) {
$senha = $row['senha'];
}
if(!($_POST['atual']))
{
echo "<script language='javascript'>alert('Digite sua senha atual.');history.go(-1);</script>";
exit;
}
if($_POST['atual'] != $senha)
{
echo "<script language='javascript'>alert('Senha atual incorreta!');history.go(-1);</script>";
exit;
}
if(strlen($_POST['nova']) < 6 || strlen($_POST['confirma']) < 6)
{
echo "<script language='javascript'>alert('A nova senha deve conter pelo menos 6 caracteres!');history.go(-1);</script>";
exit;
}
if($_POST['nova'] != $_POST['confirma'])
{
echo "<script language='javascript'>alert('A nova senha e a confirmação devem ser iguais!');history.go(-1);</script>";
exit;
} else {
$nome = trim($_POST['nome']);
$dia = ($_POST['dia']);
$mes = ($_POST['mes']);
$ano = ($_POST['ano']);
$nova = strtolower(addslashes(strip_tags(trim($_POST['nova']))));
mysql_query("UPDATE usuarios SET senha='$nova', nome='$nome', dia='$dia', mes='$mes', ano='$ano' WHERE usuario_id ='{$usuario_id}'")
or die("<br><br><br><br><br><div align=\"center\">Erro inesperado!<br> Falha ao tentar processar sua solicitação.<br><br>Clique
<a href=\"javascript:history.back(1)\">aqui</a> para tentar novamente.<br><br><br><br>Nome do site © 2013");
echo "<script>window.location=('../logoff.php');</script>";
}
}
?>Carregando comentários...