PHP | Üye Oturumunu Sonlandırma

Merhaba arkadaşlar. 
Session ile oturum yönetimi olduğunu düşünelim. Benim yapmak istediğim şey şu. Bir üye belli bir süre içinde herhangi bir aktiflik göstermemişse üye oturumu sonlandırılsın.
Mesela Ahmet adındaki üye 1 saat boyunca sayfa yenilemedi. Bu durumda çıkış yapılsın, oturumu sonlansın. Bunu nasıl yapabiliriz?
 

login.php

<?php
include("../sistem/ayar.php"); session_start();

$kadi = $_POST["k_adi"];
$ksifre = $_POST["k_sifre"];

$bul = @mysql_query("SELECT * FROM kullanicilar WHERE kullanici_adi='$kadi' && kullanici_sifre='$ksifre'");
$say = mysql_num_rows($bul);
if($say > 0){
    
    $goster = mysql_fetch_array($bul);
    extract($goster);
    
    $_SESSION["login"] = array(
        "kullanici_adi"     => $kadi,
        "kullanici_sifre"   => $ksifre,
        "kullanici_eposta"  => $kullanici_eposta,
        "kullanici_id"      => $kullanici_id,
        "kullanici_rutbe"   => $kullanici_rutbe
    );

    if($_SESSION["login"] == true){
        $update = mysql_query("UPDATE kullanicilar SET kullanici_online='1' WHERE kullanici_id='$kullanici_id'");
        echo "<font color='green'>Giriş başarılı, yönlendiriliyorsunuz!</font>";
        header("Refresh:2; url='../index.php'");
    }
    
}else{
    echo "<font color='red'>Giriş başarısız oldu!</font>";
    header("Refresh:2; url='../index.php'");
}
?>

 

logout.php

<?php
    include("../sistem/ayar.php"); session_start();
    
    if(isset($_SESSION["login"])){ 
        extract($_SESSION['login']);
        $update = mysql_query("UPDATE kullanicilar SET kullanici_online='0' WHERE kullanici_id='$kullanici_id'");
        $_SESSION = array();
        session_destroy();
        echo "<font color='green'>Başarıyla çıkış yaptınız, yönlendiriliyorsunuz!</font>";
        header("Refresh:2; url='../index.php'");
    }else{
        echo "<font color='red'>Çıkış başarısız oldu!</font>";
        header("Refresh:2; url='../index.php'");
    }
?>

 

PHP’de Session Zamanını Belirlemek isimli blog yazısından yararlanabiilirsin.

Teşekkür ederim, sağ olun.

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git