Ir para conteúdo
Fórum Script Brasil
  • 0

Formulario de cadastro + Recuperar senha + MySql


Denis Sousa

Pergunta

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">&nbsp;</font></td>

<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</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>&nbsp;</td>

<td>&nbsp;</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>&nbsp;</td>

<td>&nbsp;</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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...