Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos!!!
Estou com um problema, peguei um modelo de banco de dados pronto na em um site, com nome , login, senha , confirmação de senha e e-mail...
Fiz a tabela no PHPMyAdmin como descrito no site, fiz a conexão do dreamweaver com o banco tudo igual.
Quando coloco pra testar, preencho os dados no cadastro e quando envio ele retorna com a seguinte frase....."Ocorreu os seguintes erros ao tentar se cadastrar:Você não digitou um login. Você não digitou uma senha.".....,que são os textos que devereiam aparecer se o usuário não digitasse nada nos campos, mas como digitei tudo corretamente por que está voltando???
Vou postar abaixo a maneira como fix a tabela e as páginas,por favor me ajudem a fazer funcionar......
BANCO DE DADOS
<?
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 ,
'confirmacao_senha' VARCHAR(30) NOT NULL,email VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( codigo )
);`
?>
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>
config.php
<?
$host = "localhost"; //endereço do seu servidor MySQL
$database = "cf_login"; //o database que conterá sua tabela, muitas vezes seu próprio login
$tabela = "tbl_membros"; //o nome de sua tabela
$login_db = "cf_login"; //login usado no MySQL
$senha_db = "abc"; //senha usado no MySQL
?>
enviar_cadastro.php As informações que estão aparecendo vem daqui, mas não sei o que está errado....
<?
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 tbl_usuarios 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 != $confirmacao_senha ) {
$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 tbl_usuarios (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
}
?>
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> </td>
<td> </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>
confirmar_login
<?
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 tbl_usuarios 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
?>
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>
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 tbl_usuarios 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 = "endereco@provedor.com.br"; //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
}
?>
acesso.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 tbl_usuarios 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
?>
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>
<div align="center">OI!</div>
</body>
</html>
teste1.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>?>
<div align="center">OI!</div>echo "Você não está logado."; //aqui que terminamos o IF que iniciamos na página
}
?>
</body>
</html>
logout.php
<?
setcookie("login","",time()-3600);
setcookie("senha","",time()-3600);?>
Bem desculpa postar tanta coisa, mas pra garantir coloquei todo o conteúdo do sistema de cadastro para que vocês me ajudem a deixar ele funcionando perfeito...Obrigado
Carregando comentários...