Seguinte, achei na net um script de formulario com recuperador de senha e segurança nas paginas... fiz todos os passos so que não funciona... tava precisando do Help de vocês...
Aproveito e post o codigo ai pra que tambem quer um form desses.
--- Banco de Dados ---
CREATE TABLE `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` )
);`
o nome do DataBase é: login
_________________________________________
--- config.php ---
<?
$host = "localhost"; //endereço do seu servidor MySQL
$database = "login"; //o database que conterá sua tabela, muitas vezes seu próprio login
include "config.php"; //aqui inserimos as váriaveis da página de configuração
$db = mysql_connect ($host, $login_db, $senha_db); //conectamos ao mysql
$basedados = mysql_select_db($database); //selecionamos o database escolhido
$pesquisar = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login'", $db); //conferimos se o login escolhido já não foi cadastrado
$contagem = mysql_num_rows($pesquisar); //traz o resultado da consulta acima
if ( $contagem == 1 ) {
$errors .= "Login escolhido já cadastrado."; //se o login já existir, ele adiciona o erro
}
if ( $login == "" ) {
$errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
}
if ( $senha == "" ) {
$errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
}
if ( $senha != $senha2 ) {
$errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
}
if ( $errors == "" ) { //checa se houve ou não erros no cadastro
$cadastrar = mysql_query("INSERT INTO `$tabela` (nome, login, senha, email)
VALUES ('$nome','$login','$senha','$email')", $db); //insere os campos na tabela
if ( $cadastrar == 1 ) {
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Cadastro com sucesso.</font></div>"; //se cadastrou com sucesso o usuário aparece essa mensagem
} else {
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu um erro no servidor ao tentar se cadastrar.</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem
}
} else {
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se cadastrar:$errors</font></div>"; //mostra os erros do usuário, caso houver
}
?>
_____________________________________________
--- confirmar_login.php ---
<?
include "config.php"; //inclui o arquivo de configurações
$db = mysql_connect ($host, $login_db, $senha_db); //conecta ao mysql
$basedados = mysql_select_db($database); //conecta a base de dados
$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND senha = '$senha'", $db); //verifica se o login e a senha conferem
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima
if ( $contagem == 1 ) {
setcookie ("login", $login); //grava o cookie com o login
setcookie ("senha", $senha); //grava o cookie com a senha
echo "Usuário logado."; //se a senha digitada está correta, mostra a mensagem
} else {
echo "Login ou senha inválidos. <a href=java script:history.go(-1)>Clique aqui para voltar.</a>"; //se a senha está incorreta mostra essa mensagem
}
?>
___________________________________________
--- enviar_senha.php ---
<?
include "config.php"; //inclui o arquivo de configurações
$db = mysql_connect ($host, $login_db, $senha_db); //conecta ao mysql
$basedados = mysql_select_db($database); //conecta a base de dados
$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND email = '$email'", $db); //verifica se o login e a email conferem
while ($row = mysql_fetch_array($confirmacao)) {
$login = $row["login"]; //adiciona a variavel $login o login do usuario
$senha = $row["senha"]; //adiciona a variavel $senha a senha do usuario
$email = $row["email"]; //adiciona a variavel $email o email do usuario
}
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima
if ( $contagem == 1 ) {
$msg = "Recuperação de senha" . chr(13) . chr(10);
$msg .= "Senha enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10);
$msg .= "Login : " . $login . chr(13) . chr(10);
$msg .= "Email : " . $email . chr(13) . chr(10);
$msg .= "Senha : " . $senha . chr(13) . chr(10);
$Remetente = "denisfileozinho@gmail.com"; //remetente do email, coloque o email do seu site
mail($email, "Recuperação de Senha",$msg,"From: $Remetente"); //campos do email na ordem, email destinho (não deve ser alterada), assunto, conteudo (não deve ser alterado), remetente (também não altere)
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Sua senha foi enviada com sucesso para o email: $email.</font></div>"; //resposta se o email foi enviado com sucesso
} else {
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Seu login ou email está incorreto.</font></div>"; //resposta se não foi possivel enviar o email
include "config.php"; //carregamos o arquivo de configuração
$nome = $HTTP_COOKIE_VARS["login"]; //pegamos o cookie login, gravado anteriormente com o login
$pass = $HTTP_COOKIE_VARS["senha"]; //pegamos o cookie senha, gravado anteriormente com o login
$db = mysql_connect ($host, $login_db, $senha_db); //conectamos ao mysql
$basedados = mysql_select_db($database); //conectamos ao database
$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$nome' AND senha = '$pass'", $db); //verificamos se o conteudo dos cookies esta correto
$contagem = mysql_num_rows($confirmacao); //resulta da pesquisa acima
//aqui finalizamos assim essa página, a comparação iremos fazer nas páginas com acesso restrito
Pergunta
Denis Sousa
Boa noite galera...
Seguinte, achei na net um script de formulario com recuperador de senha e segurança nas paginas... fiz todos os passos so que não funciona... tava precisando do Help de vocês...
Aproveito e post o codigo ai pra que tambem quer um form desses.
--- Banco de Dados ---
CREATE TABLE `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` )
);`
o nome do DataBase é: login
_________________________________________
--- config.php ---
<?
$host = "localhost"; //endereço do seu servidor MySQL
$database = "login"; //o database que conterá sua tabela, muitas vezes seu próprio login
$tabela = "usuarios"; //o nome de sua tabela
$login_db = "root"; //login usado no MySQL
$senha_db = ""; //senha usado no MySQL
?>
__________________________________________
--- login.php ---
<form name="login" method="post" action="confirmar_login.php">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></td>
<td width="250"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="login" type="text" id="login">
</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td>
<td><input name="senha" type="password" id="senha"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
</tr>
<tr>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="entrar" type="submit" id="entrar" value="Entrar">
</font></div></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="senha.php">Esqueceu
a senha?</a> <a href="cadastrar.php">Cadastre-se</a></font></td>
</tr>
</table>
</form>
_________________________________________________
--- cadastrar.php ---
<form name="cadastrar" method="post" action="enviar_cadastro.php">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome:</font></td>
<td width="250"><input name="nome" type="text" id="nome" maxlength="75"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></td>
<td><input name="login" type="text" id="login" maxlength="30"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td>
<td><input name="senha" type="password" id="senha" maxlength="30"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Repetir
Senha:</font></td>
<td><input name="senha2" type="password" id="senha2" maxlength="30"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Email:</font></td>
<td><input name="email" type="text" id="email" maxlength="50"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="enviar" type="submit" id="enviar" value="Enviar Cadastro">
<input name="limpar" type="reset" id="limpar" value="Limpar Dados">
</div></td>
</tr>
</table>
</form>
__________________________________________________
--- enviar_cadastrar.php ---
<?
include "config.php"; //aqui inserimos as váriaveis da página de configuração
$db = mysql_connect ($host, $login_db, $senha_db); //conectamos ao mysql
$basedados = mysql_select_db($database); //selecionamos o database escolhido
$pesquisar = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login'", $db); //conferimos se o login escolhido já não foi cadastrado
$contagem = mysql_num_rows($pesquisar); //traz o resultado da consulta acima
if ( $contagem == 1 ) {
$errors .= "Login escolhido já cadastrado."; //se o login já existir, ele adiciona o erro
}
if ( $login == "" ) {
$errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
}
if ( $senha == "" ) {
$errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
}
if ( $senha != $senha2 ) {
$errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
}
if ( $errors == "" ) { //checa se houve ou não erros no cadastro
$cadastrar = mysql_query("INSERT INTO `$tabela` (nome, login, senha, email)
VALUES ('$nome','$login','$senha','$email')", $db); //insere os campos na tabela
if ( $cadastrar == 1 ) {
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Cadastro com sucesso.</font></div>"; //se cadastrou com sucesso o usuário aparece essa mensagem
} else {
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu um erro no servidor ao tentar se cadastrar.</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem
}
} else {
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se cadastrar:$errors</font></div>"; //mostra os erros do usuário, caso houver
}
?>
_____________________________________________
--- confirmar_login.php ---
<?
include "config.php"; //inclui o arquivo de configurações
$db = mysql_connect ($host, $login_db, $senha_db); //conecta ao mysql
$basedados = mysql_select_db($database); //conecta a base de dados
$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND senha = '$senha'", $db); //verifica se o login e a senha conferem
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima
if ( $contagem == 1 ) {
setcookie ("login", $login); //grava o cookie com o login
setcookie ("senha", $senha); //grava o cookie com a senha
echo "Usuário logado."; //se a senha digitada está correta, mostra a mensagem
} else {
echo "Login ou senha inválidos. <a href=java script:history.go(-1)>Clique aqui para voltar.</a>"; //se a senha está incorreta mostra essa mensagem
}
?>
___________________________________________
--- enviar_senha.php ---
<?
include "config.php"; //inclui o arquivo de configurações
$db = mysql_connect ($host, $login_db, $senha_db); //conecta ao mysql
$basedados = mysql_select_db($database); //conecta a base de dados
$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND email = '$email'", $db); //verifica se o login e a email conferem
while ($row = mysql_fetch_array($confirmacao)) {
$login = $row["login"]; //adiciona a variavel $login o login do usuario
$senha = $row["senha"]; //adiciona a variavel $senha a senha do usuario
$email = $row["email"]; //adiciona a variavel $email o email do usuario
}
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima
if ( $contagem == 1 ) {
$msg = "Recuperação de senha" . chr(13) . chr(10);
$msg .= "Senha enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10);
$msg .= "Login : " . $login . chr(13) . chr(10);
$msg .= "Email : " . $email . chr(13) . chr(10);
$msg .= "Senha : " . $senha . chr(13) . chr(10);
$Remetente = "denisfileozinho@gmail.com"; //remetente do email, coloque o email do seu site
mail($email, "Recuperação de Senha",$msg,"From: $Remetente"); //campos do email na ordem, email destinho (não deve ser alterada), assunto, conteudo (não deve ser alterado), remetente (também não altere)
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Sua senha foi enviada com sucesso para o email: $email.</font></div>"; //resposta se o email foi enviado com sucesso
} else {
echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Seu login ou email está incorreto.</font></div>"; //resposta se não foi possivel enviar o email
}
?>
___________________________________________________
--- acessar.php ---
<?
include "config.php"; //carregamos o arquivo de configuração
$nome = $HTTP_COOKIE_VARS["login"]; //pegamos o cookie login, gravado anteriormente com o login
$pass = $HTTP_COOKIE_VARS["senha"]; //pegamos o cookie senha, gravado anteriormente com o login
$db = mysql_connect ($host, $login_db, $senha_db); //conectamos ao mysql
$basedados = mysql_select_db($database); //conectamos ao database
$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$nome' AND senha = '$pass'", $db); //verificamos se o conteudo dos cookies esta correto
$contagem = mysql_num_rows($confirmacao); //resulta da pesquisa acima
//aqui finalizamos assim essa página, a comparação iremos fazer nas páginas com acesso restrito
?>
_______________________________________________________
--- senha.php ---
<form name="senha" method="post" action="enviar_senha.php">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></td>
<td width="250"><input name="login" type="text" id="login"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Email:</font></td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="enviar" type="submit" id="enviar" value="Enviar minha Senha">
</div></td>
</tr>
</table>
</form>
___________________________________________________
--- teste.php ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Teste de Acesso</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
if ( $contagem == 1 ) {
//aqui deixe aberto, pois iremos fechar somente no final da página
?>
<div align="center">OI!</div>
<?
} else {
echo "Você não está logado."; //aqui que terminamos o IF que iniciamos na página
}
?>
</body>
</html>
________________________________________________________
============================================
Não da Erro nenhum, mais não funciona.... o que pode ta acontecendo....???
Gratoooo galera...
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.