Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Zoação

Gravar dados em BANCO DE DADOS MYSQL ao se logar

Recommended Posts

Tenho um sistema simples de Login, que apenas confere se o usuário está cadastrado através do método POST de seu EMAIL e SENHA.
Caso ele esteja cadastrado é redirecionado para uma página, caso contrário vai para outra página.
Agora, o que quero fazer é saber quando este usuário "se logou". Gostaria de ser de uma forma simples, por isso, gostaria de saber se há como fazer um INCLUDE caso seu login seja aprovado e este INCLUDE executa-se uma página PHP onde teria um código para cadastrar seu LOGIN (email) e HORÁRIO que realizou o acesso apenas. Não há necessidade de saber quanto tempo ficou online e sim apenas quantas vezes acessou.
Como faço isto?

if (!empty($_POST) AND (empty($_POST['login']) OR empty($_POST['senha']))) {
	header("Location: login.php"); exit;
}
if ($num_logar == 0){
   echo "Login ou senha invalido.";
   echo "<br><a href='javascript:window.history.go(-1)'>Clique aqui e tente novamente.</a>";   
} 
elseif($fet_logar['activo'] == "N"){
   echo "Usuario não ativado, verifique seu e-mail para ativa a conta.";
   echo "<br><a href='javascript:window.history.go(-1)'>Clique aqui para volta.</a>"; 
}
else{

   session_start();
(campos para inserir na session)


   header("Location:pedidos.html");
}
?>

Onde eu coloco o "include" acima?

include("cadastrohora.php");

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! Você no código acima você faz várias verificações, mas onde está a comparação se o usuário está OK (Logado)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! Você no código acima você faz várias verificações, mas onde está a comparação se o usuário está OK (Logado)?

 

Esta abaixo do

else{

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema que que com header("Location:pedidos.html"), não da tempo para dar o include.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema que que com header("Location:pedidos.html"), não da tempo para dar o include.

 

Então, quero apenas que seja executado...

Como faço isto?

Não há como inserir acima?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que tem essa página cadastrohora.php, acredito que seja só um INSERT semelhante a esse:

$sql = "INSERT INTO log_acesso (login, horario) VALUE ('$login', NOW())";
$resultado = mysql_query($sql) or die(mysql_error());

Se o mysql_affected_rows() retornar maior que 0 executa o header("Location: pedidos.html");

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que tem essa página cadastrohora.php, acredito que seja só um INSERT semelhante a esse:

$sql = "INSERT INTO log_acesso (login, horario) VALUE ('$login', NOW())";
$resultado = mysql_query($sql) or die(mysql_error());

Se o mysql_affected_rows() retornar maior que 0 executa o header("Location: pedidos.html");

 

Isto mesmo, apenas isto.

Posso então inserir este código antes ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro! Caso tenha que alterar futuramente, o código está todo numa única página.

 

Ok.

Vou então testar e depois publico aqui se funcionou.

 

Obrigado!

Claro! Caso tenha que alterar futuramente, o código está todo numa única página.

 

Perfeito. Está da forma que preciso!!

 

Obrigado!!

 

(apenas alterei para TIMESTAMP)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.