Pessoal, estou fazendo um sistema de login para pode entrar no sistema de cadastro do tcc.
Já fiz a parte de cadastro do usuário e senha no banco de dados, e a ativação por email.
Preciso saber agora, como faço para que o cliente possa logar a partir do cadastro dele.
Segue os códigos de cadastro e ativação.
Cadastro:
[code]<form method=“POST”>
Nome:<input type="text" name="nome"><br>
Email:<input type="text" name="email"><br>
Login:<input type="text" name="login"><br>
Senha:<input type="password" name="senha"><br>
<br>
<input type="submit" name="enviar" value="Cadastrar">
<?php
include_once(‘conecta.php’);
if( isset( $_POST[‘enviar’] ) ) {
$nome = $_POST['nome'];
$email = $_POST['email'];
$login = $_POST['login'];
$senha = md5( $_POST['senha'] );
$uid = uniqid( rand( ), true );
$data_ts = time( );
$ativo = 0;
$sql = "insert into cadastro ( id_cadastro, nome, email, login, senha,
data_ts, uid,
ativo ) ";
$sql .= “values
(’’, ‘$nome’,’$email’,’$login’,’$senha’,’$data_ts’,’$uid’,’$ativo’)”;
if( ! mysql_query( $sql ) ) {
echo "Houve um erro inserindo o registro ".mysql_error( );
} else { // Registro inserido com sucesso, mandar email
$id = mysql_insert_id( $conexao );
// Criar as variaveis para validar o email
$url =
sprintf( ‘id=%s&email=%s&uid=%s&key=%s’,$id, md5($email), md5($uid),
md5($data_ts)
);
$mensagem = 'Para confirmar seu cadastro acesse o link:'."\n";
$mensagem .= sprintf('http://www.briefingeventos.com.br/ativaremail.php?%s',$url);
// enviar o email
mail( $email, 'Confirmacao de cadastro', $mensagem );
echo "Registro inserido com sucesso";
}
}
?>
</form>[/code]
Ativação:
[code]<?php
include_once(‘conecta.php’);
// Dados vindos pela url
$id = $_GET[‘id’];
$emailMd5 = $_GET[‘email’];
$uidMd5 = $_GET[‘uid’];
$dataMd5 = $_GET[‘key’];
//Buscar os dados no banco
$sql = “select * from cadastro where id_cadastro = ‘$id’”;
$sql = mysql_query( $sql );
$rs = mysql_fetch_array( $sql );
// Comparar os dados que pegamos no banco, com os dados vindos pela url
$valido = true;
if( $emailMd5 !== md5( $rs[‘email’] ) )
$valido = false;
if( $uidMd5 !== md5( $rs[‘uid’] ) )
$valido = false;
if( $dataMd5 !== md5( $rs[‘data_ts’] ) )
$valido = false;
// Os dados estão corretos, hora de ativar o cadastro
if( $valido === true ) {
$sql = “update cadastro set ativo=‘1’ where id_cadastro=’$id’”;
mysql_query( $sql );
echo “Cadastro ativado com sucesso!”;
} else {
echo “Informacoes invalidas”;
}
?>[/code]
Eu tenho que verificar se o campo ativo está 1 no banco de dados, mas depois disso como faço? Para comparar o usuário e senha dele com o de BD, e como só permitir acessar a página através de login. Alguem tem alguma idéia?
Grato, Lucas