Tutorial - Cadastro De Usuários Completo
#16
Posted 19/09/2007, 20:49
Fiquei fora pois tava configurando o sistema.
Aquele erro era erro na digitação.
Cara, só q to com um outro probleminha, não estou conseguindo achar pelos métodos comuns.
Talvez seja o caso de abrir um tópico novo no forum.
Bom, o sistema no qual adicionei o seu programa, é um sistema de visualização de arquivos no formato PDF, em que o usuário cadastrado, de acordo com o seu nível, adiciona os arquivos para a visualização na Intranet da empresa e os editam conforme o caso. O problema é o seguinte: queria adicionar um nr código no nome do arquivo PDF que o usuário "upar". Por exemplo: arquivo.pdf -> 001_arquivo.pdf (sobe para o servidor com esse nome). A idéia é para que usuários não adicionem arquivos com mesmo nome e sobrescrevam um dos outros, entende?
Só queria uma luz.
Desde já agradeço!!!
#17
Posted 19/09/2007, 21:51
Pois no Tutorial acredito que esteja tudo OK...
Quanto a sua dúvida, não tem muito haver com o tutorial, te peço que abra um tópico sobre isso...
Mas antes de uma buscada no fórum de php que acredito que possa encontrar mais rápido a sua resposta.
Se não me engano tem muita coisa sobre isso...
Até mais
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#18
Posted 19/09/2007, 22:13
Pois é, já olhei o forum e encontrei funçoes que fazem quase o que quero, vou pesquisar mais.
Vou criar um tópico!
vlw.
#19
Posted 19/09/2007, 22:28
se eu poder ajudar ajudarei.
Até mais
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#20
Posted 21/09/2007, 14:46
To procurando ainda uma função para inserir um código ou a data no arquivo!
Olha só, vc sabe por onde anda o Sistema Galeria Viva?
#21
Posted 21/09/2007, 15:37
Data ??
no tutorial ensina como gravar a data no banco de dados... depois é só trazer em uma consulta ao mesmo ...
... de uma olhada com mais atenção.
Quanto ao tópico de scripts prontos deve estar na seção de scripts prontos em php ou na linguagem que esta galeria que vc fala, foi feito.
Até mais
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#22
Posted 22/09/2007, 12:47
Já adaptei e funcionou!
#23
Posted 23/06/2008, 01:37
- Utilização na apresentação do tutorial SyntaxHighlighter para dar maior visibilidade no código, ajudando nos estudos.
- Mudança de endereço
Em breve versão II com maiores otimizações no cod
Até mais
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#24
Posted 29/12/2008, 13:34
Esta função funciona da seguinte forma: usuário digita a senha antiga (pra ter uma segurança de que não é qualquer pessoa tentando trocar a senha) [1] e 2x a senha nova para não ter erro de digitação [2].
1) guardei em uma sessão (verifica_usuario.php) a senha criptografada do usuário, para fazer a verificação [1]
arquivo comentado:
<?php session_start(); // Inicia a session include "config.php"; $usuario = $_POST['usuario']; $senha = $_POST['senha']; if((!$usuario) || (!$senha)){ echo "Por favor, todos campos devem ser preenchidos! <br /><br />"; include "formulario_login.html"; } else{ $senha = md5($senha); $sql = mysql_query("SELECT * FROM usuarios WHERE usuario='{$usuario}' AND senha='{$senha}' AND ativado='1'"); $login_check = mysql_num_rows($sql); if($login_check > 0){ while($row = mysql_fetch_array($sql)){ foreach( $row AS $key => $val ){ $$key = stripslashes( $val ); } $_SESSION['usuario_id'] = $usuario_id; $_SESSION['nome'] = $nome; $_SESSION['sobrenome'] = $sobrenome; $_SESSION['email'] = $email; $_SESSION['nivel_usuario'] = $nivel_usuario; $_SESSION['senhapramudanca'] = $senha; // aqui ele guarda a senha (criptografada) numa sessão para ser recuperada depois mais facilmente mysql_query("UPDATE usuarios SET data_ultimo_login = now() WHERE usuario_id ='{$usuario_id}'"); header("Location: area_restrita.php"); } } else{ echo "Você não pode logar-se! Este usuário e/ou senha não são válidos!<br /> Por favor tente novamente!<br />"; include "formulario_login.html"; } } ?>*obs: guardar esta informação em uma session não é a forma mais segura de fazer isto, porém para um sistema bem simples que é o que queremos, é a forma mais fácil e "rápida" que eu achei pois não precisaremos abrir o BD mais de 1x ao fazer a mudança.
2) página de formulário das senhas. formulario_trocasenha.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Troca de senha</title> </head> <body> <form action="trocasenha.php" method="post"> Senha antiga<br /> <input name="senhavelha" type="password" id="usuario" /><br /> Senha nova<br /> <input name="senhanova1" type="password" id="senha" /><br /> Repetir senha nova<br /> <input name="senhanova2" type="password" id="senha" /><br /><br /> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>3) e agora o mais importante, fazer as verificações de se a senha que o usuário deu como antiga é a correta [1] e se as duas novas senhas coincidem [2], caso positivo, alteração no bd.
trocasenha.php comentado:
<?php session_start(); // Inicia a session include "config.php"; // inclui no code o arquivo que vai te conectar ao bd $senhavelha = md5($_POST['senhavelha']); // grava na variavel senhavelha o que o user digitou no campo senhavelha $senhanova1 = $_POST['senhanova1']; // grava na variavel senhanova1 o que o user digitou no campo senhanova1 $senhanova2 = $_POST['senhanova2']; // grava na variavel senhanova2 o que o user digitou no campo senhanova2 if((!$senhavelha) || (!$senhanova1) || (!$senhanova2)){ // verifica se o usuário digitou todos os 3 campos necessários, caso contrário dá a mensagem de erro e inclui o formulário novamente para ele redigitar echo "Por favor, todos campos devem ser preenchidos! <br /><br />"; include "formulario_trocasenha.html"; } else{ $senhaantiga = $_SESSION['senhapramudanca']; // recupera a sessao salva no arquivo verifica_usuario.php salvando-a em uma variavel $novasenha = md5($senhanova1); // criptografa a nova senha desejada $usuario_id = $_SESSION['usuario_id']; // recupera da sessão o id do usuário cadastrado no BD if($senhavelha==$senhaantiga){ // verifica se a senha antiga é a mesma da digitada como sendo if ($senhanova1==$senhanova2) { // verifica se as 2 novas senhas digitadas estão iguais mysql_query("UPDATE usuarios SET senha='$novasenha' WHERE usuario_id='$usuario_id'"); // atualiza a senha no bd echo "Senha alterada com sucesso! Clique <a href=area_restrita.php>aqui</a> para voltar."; $_SESSION['senhapramudanca'] = $novasenha; // redefine o conteudo da sessao para a senha nova, para o caso do usuario querer mudar novamente } else { echo "As duas novas senhas não coincidem!"; } // erro caso não coincidam } else { echo "Senha antiga incorreta!"; } // erro caso o usuário tenha digitado a senha antiga incorreta } ?>
acho que é isso
o code foi feito por mim e testado, qualquer problema favor avisar!
Crab, parabéns pelo code inicial!
Edição feita por: knoxville, 30/12/2008, 08:51.
#25
Posted 30/12/2008, 02:26
Espero que sirva de ajuda para quem procura tal opção.
Obrigado pela colaboração.
Agora nos detendo a lógica...
No meu tutorial a senha inicial, gerada no cadastro e recebida via email ... é randômica
Ainda no escopo do meu tutorial, caso o usuário perda a senha e utilize a opção de "Esqueci minha senha" conforme ensino no tutorial, ele receberá uma nova senha, pois não há como recuprar a anterior.
No teu mod aí em cima vc ensina a trocar a senha... mas se ele esquecer a senha antiga?
Então fica a sugestão para quem for utilizar esse mod, de sempre disponibilizar uma opção para gerar nova senha.
Assim é gerada uma nova senha e depois pode-se modifica-la caso necessite.
Eu acho a forma de gerar senha como coloquei no tutorial (randômica) mais segura, pois evita do usuário criar senhas fáceis como datas, 12345, etc...
Obrigado pela colaboração.
Abraço Até mais
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#26
Posted 30/12/2008, 08:57
pra quem se atentar bem vai ver que eu fiz meio por cima do seu code, Crab, algumas partes estão quase iguais como a parte que verifica se digitou todos os campos do formulário, espero que não tenha problema!
para quem viu o code antes dessa minha última "edição", possivelmente percebeu uma linha que eu tirei, essa linha eu havia colocado para testes, tenho o costume de colocar um echo antes de alterar o bd, imprimindo na tela todas as variaveis e sessions que eu vou usar, para ter a certeza de que está tudo certo. portanto, caso alguém tenha pego o code sem ler tudo e tentar entender, recomendo que tire a linha echo $usuario_id; pois aparecerá o id do usuário na página sem motivo!
sobre o que disse, concordo totalmente Crab, acho importantíssimo ou, diria até indispensável, esse sistema de "esqueci minha senha" em qualquer sistema de login!
valeu!
#27
Posted 30/12/2008, 17:28
Bom vc perguntou se tem problema ter modificado ali...
Obviamente não... a idéia é essa... eu fiz um tutorial básico onde cada um que utiliza-lo pode adicionar ou retirar opções da forma que quiser.
No tutorial não vou executar tais modificações sugeridas, mas o tópico é para isso... onde quem modificar pode postar suas modificações caso desejar.
Eu mesmo utilizo este sistema e de forma bem modificada hehehehe...
No tuto ele está como básico, e quem acessar o link do tutorial vai ve-lo sempre assim e terá liberdade de modificar caso saiba como.
Essa é a idéia... aprender.
Eu não acrecentarei nada mais nele...
Ajudo quem me procura, na medida do possível, mas um sistema desses com alterações só se for uma versão 2 e com php5 já...
Mas isso só lá pra 2009 hehehe se Deus quiser.
Abraços Até mais
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#28
Posted 28/01/2009, 11:51
O script funciona perfeitamente, me ajudou bastante, ao contrário de alguns eu fiz o tutorial todo aprendi muito com ele, mas tenho esta dúvida ai.
email para contato: felipemacena@gmail.com
Até mais...
Admnistrador MXSTUDIO
www.mxstudio.com.br
#29
Posted 28/01/2009, 12:27
O arquivo.php ao qual ele é redirecionado após o login é o mesmo para todos, mas a informação que lá irá constar é exclusiva do usuário 'logado' se assim você quiser.
Você exibe informação baseado nos dados do usuário... digamos que vc tenha outras tabelas relacionadas com a tabela do cadastro pelo id do usuário... tudo que estiver relacionado, conteúdo, dados, etc poderá ser exibido neste arquivo.php ao qual ele foi direcionado
Você pode criar um painel de controle para este usuário ... onde o arquivo será o mesmo para todos, mas o conteúdo será os dados deste usuário... enfim... uma vez feito o cadastro é ilimitado as opções para implementar qualquer conteúdo aos usuários cadastrados.
Até mais
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#30
Posted 04/02/2009, 02:50
Tem como eu ter uma lista (uma pagina) com os emails cadastrados assim quando eu clica em determinado cadastro eu posso deixa-lo?
ATIVO, ALTERAR EMAIL, NICK e SENHA.
OBs: eu não manjo de PHP
Abçs e aguardo respostas
vlw
Edição feita por: dvdpausini, 04/02/2009, 02:52.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)