Bom, isso é uma coisa simples e que muita gente pode utilizar em seus sites. Fazer com que os usuários “loguem” uma vez só e que depois através de um cookie seja reconhecido ao entrar no site novamente e faça o auto login.
Todos sabemos que se setarmos um cookie sem um tempo determinado ele expira no momento em que o usuário fecha o cliente (conhecido por cokie de sessão).
Então a lógica desse tipo de login automático é simples e eficaz: utilizar um tempo enorme para que o cookie fique no PC do cliente mesmo que ele feche o browser e desligue o PC.
NOTA: Acredito que isso (com edição na mútliplicação) pode ser usado em sistemas de TOPSITES evitando que o cliente se reconecte alterando o IP para poder votar denovo.
Mas como vamos usar o tempo? Bom, vamos fazer uma múltiplicação simples:
3600*24*30*12*5
Agora vamos entende-la:
3600 = Número em segundos de 1 hora.
24 = Múltiplicando 3600 por 24 implica em 1 dia, pois o mesmo tem 24 horas ou (24*3600 segundos).
30 = Mútiplicando 3600*24*30 mostra que esse dia é compreendido em 30 caracterizando 1 mês.
12 = Múltiplicando 1 mês (ou 3600*24*30) por 12 compreende-se 12 meses o que resulta em 1 ano.
5 = Este valor pode ser alterado e caracteriza o número de anos. Escolhi 5 pois achei ser um tempo bem longo e suficiente. Não acho que alguém vá manter um PC sem formatar ou sem limpar a pasta de cookies por mais de 5 anos né.
Passando adiante vamos aplicar isso na configuração do cookie utilizando para o tempo a função time() dentro da função setcookie que cria o cookie.
O código ficaria assim: Neste caso, na função setcookie() usamos por ordem: Nome do cookie Conteúdo do cookie Tempo de duração (opcional) Página das funções utilizadas: setcookie(); time();