Ir para conteúdo

Arquivado

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

João Augusto

Editar conteúdo de um db mysql...

Recommended Posts

Fala galera eu to desenvolvendo um sistema de cadastro e eu não consegui bolar um método pra poder alterar senha....

Se alguém puder me ajudar a desenvolver um código pra conseguir editar a senha....

segue o code da tabela...

<?
          CREATE TABLE `tbl_usuarios` (
`codigo` INT( 5 ) NOT NULL AUTO_INCREMENT,
`nome` VARCHAR( 75 ) NOT NULL ,
`login` VARCHAR( 30 ) NOT NULL ,
`senha` VARCHAR( 30 ) NOT NULL ,
`email` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `codigo` ) 
);`
?>

vlw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu montaria o código?

eu to meio perdido em php ainda.....

 

Bom, espera-se que você esteja recebendo o valor da senha e outros dados necessários de um form, então proceda assim:

 

<?php
   $idusuario = $_POST['nomedoseucampo'];
   $novasenha = $_POST['nomedoseucampo'];

   $sql       = "UPDATE tbl_usuarios SET senha = '$novasenha' WHERE codigo = $idusuario";
   $query     = mysql_query($sql) or die(mysql_error());
?>

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom cara eu consegui alterar certinho lá mais eu queria ainda fazer algumas coisas com esse código, por exemplo comparar o nome e o login digitado com o que está no banco de dados.....

E imprimir na tela alguma coisa quando a senha for alterada com sucesso ou quando estiver faltando alguma informação ou ela estar incorreta...

 

     //declaração
     $nome = $_POST['nome'];
     $login = $_POST['login'];
     $senha = $_POST['senha'];

     //alteração de senha
     $sql       = "UPDATE usuarios SET senha = '$senha' WHERE login = '$login' AND nome = '$nome'";
     $query     = mysql_query($sql) or die(mysql_error());

     //filtros
     
     if($nome == ""){
              echo 'Você não digitou o nome.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }

     if($login == ""){
              echo 'Você não digitou o login.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }
     
     if($senha == ""){
              echo 'Você não digitou a senha.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você faz um select antes de alterar a senha.

 


$sql = "select nome, login from usuarios where nome = '$nome' and login = '$login'";
$exe = mysql_query($sql);
$res = mysql_fetch_array($exe);

if($res['nome'] != $nome)
{
   echo "Nome não encontrado na base de dados";
}
else if($res['login'] != $login)
{
   echo "Login não encontrado na base de dados";
}
else
{
//alteração de senha
     $sql       = "UPDATE usuarios SET senha = '$senha' WHERE login = '$login' AND nome = '$nome'";
     $query     = mysql_query($sql) or die(mysql_error());

     //filtros
     
     if($nome == ""){
              echo 'Você não digitou o nome.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }

     if($login == ""){
              echo 'Você não digitou o login.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }
     
     if($senha == ""){
              echo 'Você não digitou a senha.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está armazenando SENHA no banco de dados como texto puro?

A segurança em um sistema assim fica ridicula.

Só uma dica, tente encriptar suas senhas ou cadastra-las com MD5 no banco.

 

Abraço.

 

At.,

Leandro Barral.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom cara ta dando um erro aqui em uma linha que nem existe....

 

Parse error: syntax error, unexpected $end in public_html/teste/recuperar_senha.php on line 47

 

Sendo que o arquivo só vai até a linha 46...

 

você sabe o pk desse erro?

 

E teria como imprimir uma menssagem de "cadastro efeutado com sucesso" quando conseguir alterar e uma de "erro ao cadastrar" no else?

 

Vlw.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o code, mais já vi o que era, não tava fechando o else....

 

Mais como que eu faço pra imprimir as menssagens de senha alterada com sucesso ou de erro ao tentar cadastrar?

 

<?php
     //conexão com o banco de dados
     $db = @mysql_connect("localhost","root","132") or die("Não foi possível a conexão com o Banco");
     $basedados = @mysql_select_db("usuarios",$db) or die("Não foi possível selecionar o Banco");

     //declaração
     $nome = $_POST['nome'];
     $login = $_POST['login'];
     $senha = $_POST['senha'];

     //comparação de dados
     $com = "select nome, login from usuarios where nome = '$nome' and login = '$login'";
     $exe = mysql_query($com);
     $res = mysql_fetch_array($exe);

     if($res['nome'] != $nome)
     {
      echo "Nome não encontrado na base de dados";
     }
     else if($res['login'] != $login)
     {
      echo "Login não encontrado na base de dados";
      }
      else
      {

     //alteração de senha
     $sql       = "UPDATE usuarios SET senha = '$senha' WHERE login = '$login' AND nome = '$nome'";
     $query     = mysql_query($sql) or die(mysql_error());

     //filtros
      if($nome == ""){
              echo 'Você não digitou o nome.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }

     if($login == ""){
              echo 'Você não digitou o login.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }
     
     if($senha == ""){
              echo 'Você não digitou a senha.<br><a href=javascript:history.go(-1)>Clique aqui para voltar.</a>';
              die();
        }
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em baixo da variavel $query, coloca:

 

if($query)
{
 	echo "Cadastro alterado com sucesso!";
}else
{
 	echo "Erro ao alterar cadastro, contate o administrador do sistema.";
}

Acho legal a iniciativa do Dee e do pessoal em "fazer" o código inteiro pra ti. Assim tu não vai aprender nunca. Enfim, só um dica.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se foi só uma dica porquê você postou o código também ?

 

Eu sou do tipo que posta o código para pessoa sim, vai dela querer entender ou não, querer estudar ou não.

Tem códigos que eu explico, tem códigos que não acho necessário explicar. Por exemplo um If e um Else.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nobre colega Leandro Barral, quem te garante que não estudo a partir do que eu consigo retirar dos tópicos é lógico que sim....

Pra mim o php é um mundo totalmente novo e abstrato, conforme as dificuldades vão surgindo eu venho aqui para sana-las...

Ou será que me encontro em um lugar errado, onde todos nós vemos explicitar nossas DÚVIDAS,SUGESTÕES,APRENDIZADOS....

É posso concordar que nem todos se dispõe a estudar a dica/ajuda colocada no tópico, porém esse não é o meu caso, fico eternamente grato a todos que me ajudam a entender e aprender sobre qualquer assunto que não sei ou tenha um grau de dificuldade que sozinho não consigo sanar. Por isso eu estudo e aprendo com os código/ajudas/dicas postas neste portal, são eles de grande valia a um estudo pra quem quer aprender.....

E e a todos que me ajudam e me ajudaram obrigado pelo apoio e pela compreenção.....

Vlw....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não disse que eu nao postaria codigos.

Enfim, eu gosto de dar a receita e nao entregar o bolo.

 

Ajudo o pessoal aqui desde 2007 nao me recuso em postar códigos.

Mas as vezes é um pouco falta de pensar sobre o problema e a solução.

 

Eu postei o codigo sim! Mas não o codigo completo, com entradas e saidas de dados.

 

Enfim, espero que tenha resolvido seu problema e boa sorte em seus estudos.

 

Abraço.

Desculpe o incomodo de meus comentarios por aqui.

 

At.,

Leandro Barral.

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.