Uptade na senha do usuário

Enviada por Diego Santos 
Diego Santos
Uptade na senha do usuário
12 de December de 2007 às 11:23AM
Olá turma!!!

Gostaria de uma ajuda...

Tenho que implementar no sistema a opção para o usuário alterar senha, lá ele digita:
*senha atual
*nova senha
*confirme nova senha

<form name="form1" method="post" action="enviasenha.php">

Senha Atual:<input type="password" name="senhaatual" id="" size="10" />
Nova Senha:<input type="password" name="nome" id="novasenha" size="10" />
Regedite:<input type="password" name="senha" id="novasenha2" size="10" />

Como fazer?? só sei que terá que comparar a senha atual para ver se bate com a do banco... se as novas senha digitadas são iguais e depois fazer o uptade na tabela usuário...

???
Stefano Martins
Re: Uptade na senha do usuário
20 de December de 2007 às 08:09PM
Na verdade, tu também vai ter que passar o código do usuário pelo tipo de campo hidden para que na hora de atualizar, ele atualize somente um campo... dá uma olhada nesse código simplezinho que eu fiz...

<?php
@$action = $_GET['action'];
$conexao = new mysqli('localhost','root','','usuarios');
switch($action){
case 'update':
$usu_codigo = trim($_POST['usu_codigo']);
$usu_senha = trim($_POST['usu_senha']);
$usu_senha1 = trim($_POST['usu_senha1']);
$usu_senha2 = trim($_POST['usu_senha2']);

if(empty($usu_codigo) or empty($usu_senha) or empty($usu_senha1) or empty($usu_senha2)){
echo "Preencha todos os campos, @!#$.";
exit;
}

if($usu_senha1 != $usu_senha2){
echo "As senhas não conferem, @!#$";
exit;
}

$sql = "select * from usuarios where usu_codigo = '$usu_codigo' and usu_senha = '$usu_senha';";
$resultado = $conexao->query($sql);
if($resultado->num_rows < 0){
echo "A senha digitada é inválida, @!#$.";
exit;
}
else{
$sql = "update usuarios set usu_senha = md5('$usu_senha') where usu_codigo = '$usu_codigo';";
$conexao->query($sql);
header('Location: ' . $_SERVER['PHP_SELF']);
}
break;
case 'changepassword':
$usu_codigo = $_GET['usu_codigo'];
?>

<body>
<form action='<?php echo $_SERVER['PHP_SELF'] . "?action=update"; ?>' method='post'>
<input name='usu_codigo' type='hidden' value='<?php echo $usu_codigo; ?>'>
<table border='1'>
<tr>
<td>Digite sua senha atual</td>
<td><input name='usu_senha' type='password'></td>
</tr>
<tr>
<td>Digite sua nova senha</td>
<td><input name='usu_senha1' type='password'></td>
</tr>
<tr>
<td>Confirme sua nova senha</td>
<td><input name='usu_senha2' type='password'></td>
</tr>
<tr>
<td><input name='trocarsenha' type='submit' value='trocarsenha'></td>
</tr>
</table>
</form>
</body>

<?php
break;
default:
?>

<body>
<form action='<?php echo $_SERVER['PHP_SELF'] . "?action=update"; ?>' method='post'>
<table border='1'>
<tr>
<th>Código</th>
<th>Nome</th>
<th>Trocar senha</th>
</tr>
<?php
$sql = "select * from usuarios;";
$resultado = $conexao->query($sql);
while($usuario = $resultado->fetch_object()){
?>
<tr>
<td><?php echo $usuario->usu_codigo; ?></td>
<td><?php echo $usuario->usu_nome . " " . $usuario->usu_sobrenome; ?></td>
<td><a href='<?php echo $_SERVER['PHP_SELF'] . "?action=changepassword&usu_codigo=" . $usuario->usu_codigo; ?>'></a></td>
</tr>
<?php
}
?>
</table>
</form>
</body>

<?php
break;
}
?>
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.