Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!!!
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{
Não entendi direto, quando o usuário logar você quer um include isso?
Acredito que seja antes do [inline]header("Location:pedidos.html");[/inline]
O problema que que com header("Location:pedidos.html"), não da tempo para dar o include.
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?
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()](http://www.php.net/manual/pt_BR/function.mysql-affected-rows.php) retornar maior que 0 executa o header("Location: pedidos.html");>
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()](http://www.php.net/manual/pt_BR/function.mysql-affected-rows.php) retornar maior que 0 executa o header("Location: pedidos.html");
Isto mesmo, apenas isto.
Posso então inserir este código antes ?
Claro! Caso tenha que alterar futuramente, o código está todo numa única página.
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)
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)?