Ir para conteúdo

POWERED BY:

Arquivado

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

ewersonsv

[Resolvido] [Sistema De Login] Como Fazer "Alterador De Senha" Verifica a Antiga. [MySQL]

Recommended Posts

eu tou usando javascript para verifica se a nova estão iguais porem queria por para verifica a antiga....

Demostração Validando....

CODIGO JS:

function validarSenha (input){ 
    if (input.value != document.getElementById('senhanova').value) {
    input.setCustomValidity('Repita a senha corretamente');
  } else {
    input.setCustomValidity('');
  }
}

LEMBRANDO: TOU USANDO "MYSQL"
obs.: Não é PDO ou MySQLi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca seu código em PHP para poder ajudar melhor.

 

Acredito que pelo que você colocou a melhor opção seria com seu código php obter a senha antiga no banco de dados e passar um json para o javascript para que verifique a senha antiga por lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino que deva estar utilizando algum hash em suas senhas, portanto você pode usar ajax quando o campo antiga senha for preenchido ou fazer todas as verificações ao realizar o post.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
if($_POST['senha']) {
	$senhanova = md5(mysql_real_escape_string($_POST['senhanova']));//
	mysql_query("update usuarios set senha='$senhanova' where (email = '".$_SESSION['usuarioEmail']."')");
}

Para está função so tenho esse codigo "Mysql" e o JS... porem queria que o campo da antiga funciona-se porem nao faço a minima ideia pos sou novo e ainda tou aprendendo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código é apenas para gravar a senha.

 

No código que você chama a tela de alterar a senha, precisa obter os dados da senha antiga no banco de dados e jogar na vista para comparar com a senha digitada de forma parecida com o que fez com a senha nova.

Compartilhar este post


Link para o post
Compartilhar em outros sites
27 minutos atrás, marcelobbt disse:

Esse código é apenas para gravar a senha.

 

No código que você chama a tela de alterar a senha, precisa obter os dados da senha antiga no banco de dados e jogar na vista para comparar com a senha digitada de forma parecida com o que fez com a senha nova.

è Por Um MODAL:

 

                    <div role="tabpanel" class="tab-pane active" id="senha">
   				
    					<form role="form" action="" method="post" enctype="multipart/form-data">
							
							<div class="form-group">
    				  			<input type="password" class="form-control input-lg" name="senhaantiga" id="senhaantiga" value="" placeholder="Nova Senha" required>
    				  		</div>
							
							<div class="form-group">
    				  			<input type="password" class="form-control input-lg" name="senhanova" id="senhanova" value="" placeholder="Nova Senha" required>
    				  		</div>
    				  	    
    				  		<div class="form-group">
    				  			<input type="password" class="form-control input-lg" name="resenha" id="resenha" oninput="validarSenha(this)" value="" placeholder="Repetir A Nova Senha" required>
    				  		</div>
    				  	    
    				  		<div class="form-group">
								<div id="divcheck">
								
								</div>
							</div>
		
    				  	
    				  		<hr>
    				  	
    				  		<center>
								<input name="senha" class="btn btn-primary btn-embossed btn-lg btn-wide" type="submit" value="Alterar" />
								<button type="button" data-dismiss="modal" class="btn btn-danger btn-embossed btn-lg btn-wide"> Cancelar </button>
    				  		</center>
    				
    					</form>
    			
                    </div>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
if($_POST['senha']) {
  
	$senhanova = md5(mysql_real_escape_string($_POST['senhanova']));
  	$senhaantiga = md5(mysql_real_escape_string($_POST['senhaantiga']));
  	
  	$q = mysql_query("SELECT senha FROM usuarios WHERE email = '{$_SESSION['usuarioEmail']}'");
  	$oldPass = mysql_fetch_assoc( $q );
	$oldPass = $oldPass['senha'];
  
  	if( $oldPass != $senhaantiga ){
    	die('Senha antiga está incorreta');
    }
  
	mysql_query("update usuarios set senha='$senhanova' where (email = '".$_SESSION['usuarioEmail']."')");
  
}

Bom, basicamente você precisa antes de dar o update, pegar a senha do usuário e comparar com o que ele digitou, caso estejam diferentes, para o script (die) e diz que a senha está incorreta

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 minutos atrás, Mateus Silva disse:

<?php
if($_POST['senha']) {
  
	$senhanova = md5(mysql_real_escape_string($_POST['senhanova']));
  	$senhaantiga = md5(mysql_real_escape_string($_POST['senhaantiga']));
  	
  	$q = mysql_query("SELECT senha FROM usuarios WHERE email = '{$_SESSION['usuarioEmail']}'");
  	$oldPass = mysql_fetch_assoc( $q );
  
  	if( $oldPass != $senhaantiga ){
    	die('Senha antiga está incorreta');
    }
  
	mysql_query("update usuarios set senha='$senhanova' where (email = '".$_SESSION['usuarioEmail']."')");
  
}

Bom, basicamente  você precisa antes de dar o update, pegar a senha do usuário e comparar com o que ele digitou, caso estejam diferentes, para o script (die) e diz que a senha está incorreta

 

è bem isso que quero porem nao consegui coloca para verificar a senha antiga mesmo colocando certo pula pro erro (die)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 minutos atrás, Mateus Silva disse:

/* Substitua esse: */
if( $oldPass != $senhaantiga )
/* Por esse: */
if( $oldPass['senha'] != $senhaantiga )

 

 

eu alterei essa parte ai e o campo de repetir a nova senha:

<div class="form-group">
<input type="password" class="form-control input-lg" name="senhaantiga" id="senhaantiga" value="" placeholder="Senha Antiga" required>
</div>
							
<div class="form-group">
<input type="password" class="form-control input-lg" name="senhanova" id="senhanova" value="" placeholder="Nova Senha" required>
</div>
    				  	    
<div class="form-group">
<input type="password" class="form-control input-lg" name="senhaconf" id="senhaconf" oninput="validarSenha(this)" value="" placeholder="Repetir A Nova Senha" required>
</div>

porem até ai tudo certo; funcionando o validor mais o problema mesmo com o erro o comando troca a senha...

 

<?php
if($_POST['senha']) {
  
	$senhanova = md5(mysql_real_escape_string($_POST['senhanova']));
  	$senhaantiga = md5(mysql_real_escape_string($_POST['senhaantiga']));
  	
  	$q = mysql_query("SELECT senha FROM usuarios WHERE email = '{$_SESSION['usuarioEmail']}'");
  	$oldPass = mysql_fetch_assoc( $q );
  
  	if( $oldPass['senha'] != $senhaantiga ){
    	//die('Senha antiga está incorreta');
		echo "<script> window.alert('$nome, Sua Senha Antiga Está Incorreta!'); </script>";
    }
  
	mysql_query("update usuarios set senha='$senhanova' where (email = '".$_SESSION['usuarioEmail']."')");
  
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 minutos atrás, Alaerte Gabriel disse:

Cadê o session_start() no início do documento ?

esta no começo do começo da pagina essa parte é uma função para o modal; porem o mesmo com session_start(); ainda que digita a senha erra mais o problema que nao esta impedindo do mesmo ser alterada; e quando envia a senha correta nao mostra o erro e troca normalmente; o problema e que mesmo digitando a senha antiga errada a senha  ela é alterada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

die que eu havia colocado não era atoa, rs. Note que não existe um else, logo, se você não interromper o script com die, exit ou return false, o script vai continuar rodando e a senha vai ser alterada.

Solução é manter uma das opções para interromper o script ou chamar o mysql dentro de um bloco else

Compartilhar este post


Link para o post
Compartilhar em outros sites
if( $oldPass['senha'] != $senhaantiga ){
    	//die('Senha antiga está incorreta');
		echo "<script> window.alert('$nome, Sua Senha Antiga Está Incorreta!'); </script>";
    }else{
		mysql_query("update usuarios set senha='$senhanova' where (email = '".$_SESSION['usuarioEmail']."')");
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites
36 minutos atrás, Mateus Silva disse:

die que eu havia colocado não era atoa, rs.

Sabe quando tamos começando aprende ja pensamos que podemos muda de tudo kkk Obg :D

----------------------------------------------------------------------------

36 minutos atrás, Mateus Silva disse:

Solução é manter uma das opções para interromper o script ou chamar o mysql dentro de um bloco else

era bem isso que tava faltando :p

----------------------------------------------------------------------------

33 minutos atrás, Alaerte Gabriel disse:

if( $oldPass['senha'] != $senhaantiga ){
    	//die('Senha antiga está incorreta');
		echo "<script> window.alert('$nome, Sua Senha Antiga Está Incorreta!'); </script>";
    }else{
		mysql_query("update usuarios set senha='$senhanova' where (email = '".$_SESSION['usuarioEmail']."')");
	}

Obrigado :D

----------------------------------------------------------------------------

Resolvido <3

foi pq eu tirei o Die :p a do else tbm funcionou vou usa obrigado!

 

Mateus Silva

Alaerte Gabriel

Deus Os Abençoem :D

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.