Veritabanında bir tablo oluştur. 4 sütunlu olsun. id, kullanici_id , token , zaman.

Kullanıcı beni hatırla seçeneğini işaretlemişse rastgele bir kod oluşturup bunu veritabanına kullanıcının id'si ile birlikte kaydet. Zaman olarak da time(); fonksiyonu ile unix zamanı kaydet. Bu kodu aynı zamanda çerezlere de kaydet.

Daha sonra login sayfanın en üstüne bir kontrol fonksiyonu oluştur. Öncelikle çerezlerde token var mı yok mu onu kontrol etsin. Daha sonra tokeni veritabanında arayıp veritabanında var mı yok mu kontrol etsin. En son ise bir oturumun istediğin açık kalma süresine göre zamanı kontrol etsin. Mesela bir oturumun 7 gün açık kalmasını istiyorsan tokenin içerisindeki zaman'ı çekip $zaman + 60*60*24*7 yapıp bunu şuanki zamanla karşılaştırıcaksın. Eğer şuanki zaman elde ettiğin zamandan büyükse oturumun süresi dolmuştur demektir, token yine geçersiz olacak.


Güvenlik açısından kullanıcı her çıkış yaptığında tokeni silip tekrar beni hatırla diyerek giriş yaptığında yeni token oluşmasını sağlayabilirsin.

Ayrıca çerezi kaydederken sadece http olarak kaydedip dizinini de sadece giriş yapılan dizin olarak ayarlayabilirsin. /login gibi.