Bu işi en iyi COOKIE ile çözebilirsin.
En basit yöntemi anlatayım. Sen buna göre geliştirebilirsin.
1. İlk giriş yapan kullanıcı giriş yaptığında benzersiz random bir token kodu oluştur.
2. Bunu DB'ye login olunan kullanıcı adı için kaydet.
3. Daha sonra 2 adet COOKIE oluştur. Biri giriş yapanın kullanıcı adı diğeri ise oluşturulan token kodu.
Örnek:
localStorage.setItem("username", $username);
localStorage.setItem("login_token", $token_code);4. Daha sonra sayfanın başına kural koy.
Eğer SESSION yoksa COOKIE kontrol etsin var mı diye.
Eğer username ve token olan COOKIE var ise DB ile kontrol et.
<?php
if(!isset($_SESSION['logged_user']) && (isset($_COOKIE['username'], $_COOKIE['login_token']))){ // Eğer SESSION yoksa COOKIE kontrol et
// Aynı kullanıcı adına sahip token var mı diye kontrol et.
$check_user = $db->users()->where(['username'=>$_COOKIE['username'], 'token'=>$_COOKIE['login_token'] ])->fetch();
// Eğer DB true dönerse hemen yeni bir SESSION oluşturup oturumu başlat.
if(isset($check_user['id']])){
$_SESSION['logged_user '] = $check_user;
}
}
?>Not: DB sorgusunu ben kendi kullandığım framewok'e göre hızlıca yazdım. Siz nasıl DB sorgulaması yapıyorsanız öyle sorgulama yapmanız gerekmekte.