Sign in to follow this  
*Michelle*

Alterar Senha

Recommended Posts

Olá pessoal.

Estou precisando fazer uma página em que o usuário possa alterar a senha cadastrada no banco pelo administrador. Por exemplo, ao logar-se os usuários de níveis diferentes são direcionados para páginas diferentes e logo no primeiro acesso ele deve entrar na página de Alteração de Senha e cadastrar uma senha nova que substituirá a senha antiga no banco MySQL.

Peço a ajuda de vocês, pois sou iniciante em PHP e estou tomando uma surra nessa implantação de Intranet na empresa. Já pesquisei na internet mas não achei nenhum código com informações completas.

Desde já agradeço.

Share this post


Link to post
Share on other sites

Em primeiro lugar você vai ter que bolar um jeito de descobrir se é o primeiro acesso do usuário ao sistema, pode ser um campo na tabela mesmo, do tipo ENUM, lá você marcar se é ou não o primeiro acesso, se for, você dar um include na página que o usuário deve ver com um formulário para ele alterar a senha, quando o usuário alterar a senha você modifica o status do campo para deixar o usuário marcado como já tendo alterado a senha... isso tudo se faz com SELECT e UPDATE (select para pegar os dados e update para mudar o status do campo na tabela).

Share this post


Link to post
Share on other sites

Fico agradecida pela ajuda mas acho que não expliquei muito bem qual o meu problema.

Eu tenho uma tela onde o usuário informa o login e a senha para entrar na página de Intranet da empresa. Depois de validado o acesso, aparece a tela da Intranet de acordo com cada nível de usuário. Nessa tela, logo embaixo tem um link para uma página onde o usuário pode alterar sua senha, digitando a senha atual e uma nova senha. Eu preciso que essa nova senha substitua a senha que consta no banco de dados, sem que necessariamente seja no primeiro acesso.

Eu achei um exemplo num fórum mas não está funcionando.

Peço a ajuda de vocês, por favor. Quem puder me ajudar ficarei muito agradecida.

TelaTrocaSenha.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><link rel="SHORTCUT ICON" href="imagens/icone.ico" type="image/x-icon">
<title> Laboratórios Bagó do Brasil </title>
<link rel="stylesheet" type="text/css" href="estilo.css">
<!--[IF IE]>
<link rel="stylesheet" type="text/css" href="estilo_ie.css">
<!--[END IF]-->
</head>

<body>
<div id="main">
    <div style="height: 400px;">
        
        <div id="cabecalho" style="margin: 10px 0px 0px 8px;">
            <img src="imagens/cabeca1.jpg" style="float: left; margin-right: 5px;">
            <div id="cabecalho_titulo">
                <img src="imagens/cabecad.jpg"> INTRANET
            </div>
            <img src="imagens/cabeca2.jpg">
        </div>
        <div id="full"><span class="titulo_pagina">ALTERAR SENHA</span>
            <p class="texto">Informe sua senha atual e a nova senha.</p>
            <hr size="1" color="#CCCCCC" width="100%" align="center">

            <form name="form1" "POST" ACTION="TrocaSenha.php?$acao=1">
        <table>
            <tr>
            <td width="200"><label for="nome" class="texto" style="width: 200px; border: solid 0px">Login:</label><BR>
            <input type="text" name="txLogin" style="form_campo"><BR><BR></td>
            </tr>
            
            <tr>
            <td width="200"><label for="senha" class="texto" style="width: 200px; border: solid 0px">Senha Atual:</label><BR>
            <input type="password" name="pwSenha" style="form_campo"><BR><BR></td>
            </tr>
            
            <tr>
            <td width="200"><label for="senha" class="texto" style="width: 200px; border: solid 0px">Nova Senha:</label><BR>
            <input type="password" name="pwSenha2" style="form_campo"><BR><BR></td>

            <td><label for="senha" class="texto" style="width: 300px; border: solid 0px">Confirma Nova Senha:</label><BR>
            <input type="password" name="pwSenha3" style="form_campo"><BR><BR></td>
            </tr>

            <tr  valign="middle">
            <td width="200"><input type="reset" name="cmdcomando1" value="Limpar" width="20%">
                  <INPUT TYPE="hidden" NAME="btnLogar" VALUE="ExecutaLogin">
            <input type="image" src="imagens/okbutton.jpg"></td>
            </tr>
            </table>       
            </form>
    </div>
    </div><p>
        <div id="global2">
        <div id="menu_global">
            <img src="imagens/vr.jpg" align="absmiddle"><a href="index.html" class="linq_global">Lembrar Senha</a>
            <img src="imagens/vr.jpg" align="absmiddle"><a href="logout.php" class="linq_global">Logout</a>
        </div>
        </div>
</div>
</body>
</html>
TrocaSenha.php
<?php
if ($acao==1)
{
if ($senha<>$confsenha){
    $erro=1;} 
else {
    $erro=0;
}

$host = "  ";
$username = "  ";
$password = "  ";
$bd = "  ";
$conexao = @mysql_connect($host, $username, $password);
$banco = @mysql_select_db($bd, $conexao);
$ssql= "SELECT * FROM tb_usuarios_intranet WHERE senha = encrypt('$senha',senha) and id ='$usuario'"

if (!$query){
    die ("Esse usuario não existe");
} 
else {
    $ssql= "UPDATE tb_usuarios_intranet SET senha= encrypt('$confsenha') WHERE id ='$usuario'"
    $query = @mysql_query($ssql);
}

if (!$query){
    die ("Problemas ao executar o SQL !!!");
} 
else {
    Echo "A execução do SQL foi bem sucedida !!!";
}

if (!$query){
    die ("Erro ao atualizar o banco");
} 
else {
    echo "A sua senha foi alterada com sucesso";
    mysql_close($conexao);
}
}
?>

Share this post


Link to post
Share on other sites

Michele,

você já verificou se todos os parametros estão sendo passados?

Não sei se entendi bem pois estou começando agora mas nessa query:

$ssql= "UPDATE tb_usuarios_intranet SET senha= encrypt('$confsenha') WHERE id ='$usuario'"

você está usando variavel $usuario e no começo você declarou $username.

Será que não é isso? Se for, no seu select você também está usando $usuario...aí se foi esse o problema, tem que mudar pra $username

Edited by Mário Miranda

Share this post


Link to post
Share on other sites

Olha o que você escreveu :blink: :

e logo no primeiro acesso ele deve entrar na página de Alteração de Senha e cadastrar uma senha nova que substituirá a senha antiga no banco MySQL...

Acredito que o username seja para a conexão ao banco de dados... uma coisa que eu não vi, foi o $_POST para pegar os dados findos do form...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this