Ir para conteúdo

POWERED BY:

Arquivado

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

C0Y073

[Resolvido] Formulario de alteração de senah em php

Recommended Posts

Olá pessoal sou novo em na Linguagem em PHP, bom estou utilizando um formulario de cadastro de usuario na internet ele funciona perfeito e tudo mais, mais o problema e que ele nao exibi um campo pro usuario inserir a senha dele no cadastro , bom isso eu ate que gostei , mais queria fazer o seguinte , quando o usuario loga-se na area dele tive-se um link clique aki para trocar sua senha bom fiz o link e o form com campo senha atual(pwSenha) novasenha(pwSenha2) e digite novamente a nova senha(pwSenha) ai ele clica no botao Trocar senha e puxa o allterar.php que troca a senha mais nao está funcioando alguem pode me ajudar ? ele exibi a msg de ok que a senha foi trocada , mais não troca a senha

 

alterar.html


            <form name="form1" "POST" ACTION="allterarsenha.php?">
        <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="submit" NAME="btnLogar" VALUE="ExecutaLogin"></td>
            </tr>
            </table>       
            </form>

allterar.php

<?php
$usuario = $_POST ["txLogin"];
$senhaOld = $_POST ["pwSenha"];
$senhaNew = $_POST ["pwSenha2"];
$confsenha = $_POST ["pwSenha3"];



$host = "xxxxxxxx";
$username = "xxxxxx";
$password = "xxxxx";
$bd = "xxxxxxx";

$conexao = @mysql_connect($host, $username, $password);
$banco = @mysql_select_db($bd, $conexao);
$select= "SELECT * FROM usuarios WHERE senha = encrypt('$senhaOld',senha) and usuario ='$usuario'";
$query = mysql_db_query($bd,$select,$conexao);

if (!$query){
    die ("Esse usuario não existe");
} 
else {
    $update= "UPDATE usuarios SET senha= encrypt('$confsenha') WHERE usuario ='$usuario'";
    mysql_db_query($bd,$update,$conexao);
}

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);
}

?>

 

Bom baixe também esse form de alteração de senah da internet , não sei oque está errado que não está efetuando a troca

 

função que gera a senha automatica e envia pro email do usuario que acabo de se cadastrar

function makeRandomPassword(){

			$salt = "abchefghjkmnpqrstuvwxyz0123456789";
			srand((double)microtime()*1000000); 

			$i = 0;

			while($i <= 7){

				$num = rand() % 33;
				$tmp = substr($salt, $num, 1);
				$pass = $pass . $tmp;
				$i++;

			}

			return $pass;

		}

		$senha_randomica = makeRandomPassword();

		$senha = md5($senha_randomica);

 

uma img da estrutura da minha Table

Imagem Postada

 

CODIGO DA AREA DO USUARIO QUANDO ELE LOGA

<?php

session_start();

include "functions.php";
Include "config.php";
session_checker();

	echo "<p align='center' class='content'>Você está acessando uma área restrita somente para usuários cadastrados!</p>";
	
	echo "<p align='center' class='content'> </p>";
	
	echo "<p align='center' class='content'>Seja Bem Vindo <strong>". $_SESSION['nome'] ." ". $_SESSION['sobrenome'] ."</strong>, você está conectado! <a href=\"logout.php\">Sair</a></p>";
?>

echo "<p align='center' class='content'>TROQUE SUA SENHA NO FORMULARIO ABAIXO!</p>";
<?php include "alterar.html";?> // FORM PARA ALTERAÇÃO DE SENHA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve se isso ajuda:

 

 

$query = mysql_query("SELECT * FROM <tabela> WHERE usuario='".$usuario."' AND senha='".$senhaOld."' LIMIT 1;");
$linhas = mysql_num_rows ($query);

if ($linhas != 0){
	$update = mysql_query("UPDATE <tabela> SET senha='".$senhaNew."' WHERE usuario='".$usuario."';");
	if ($update){
		echo "Senha alterada com sucesso.";
	}
	else {
		echo "Ocorreu um erro para alterar a senha";
	}
}

Corrige o teu <form> coloca o method="POST".

 

Fiz na pressa, é bom dar uma conferida!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve se isso ajuda:

 

 

$query = mysql_query("SELECT * FROM <tabela> WHERE usuario='".$usuario."' AND senha='".$senhaOld."' LIMIT 1;");
$linhas = mysql_num_rows ($query);

if ($linhas != 0){
	$update = mysql_query("UPDATE <tabela> SET senha='".$senhaNew."' WHERE usuario='".$usuario."';");
	if ($update){
		echo "Senha alterada com sucesso.";
	}
	else {
		echo "Ocorreu um erro para alterar a senha";
	}
}

Corrige o teu <form> coloca o method="POST".

 

Fiz na pressa, é bom dar uma conferida!

 

[]s

 

Refiz o form no html pq eu vi que tinha erros la e editei o php , quando clico no botao alterar

ele chama a pagina php e nao exibi nd e nao executa a função para troca a senha :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

CONSEGUI DEPOIS DE MUITAS TENTATIVAS

AQUI O CÓDIGO COMO FICOU

 

<?php include "config.php";

$usuario = $_POST['txtLogin'];
$senhaOld = $_POST['pwSenha'];
$senhaNew = $_POST['pwSenha2'];
$confsenha = $_POST['pwSenha3'];
$encryptasenha = md5($senhaNew);
$encyptasenahantiga = md5($senhaOld); // isso para confirmanualmente

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

<?php

if (($senhaNew) AND ($confsenha) == "" ){
	echo "Insira a nova senha!";
}else{
if ($encyptasenahantiga<>$senhadobanco){
	echo "Senha Atual Não Confere!";
	}else{
if ($senhaNew<>$confsenha){
	echo "Campos da nova senha não conferem!";
	}else{	
        $update = mysql_query("UPDATE usuarios SET senha='".$encryptasenha."' WHERE usuario='".$usuario."';");
        if ($update){
                echo "<br> Senha alterada com sucesso.";
        }
        else {
                echo "<br>Ocorreu um erro para alterar a senha";
        }
}
}
}


?>

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.