Oturum süresi dolduktan sonra sorguyu çalıştırın

2 Cevap php

Ben belirli bir oturum sona erecek sonra bir sorgu çalıştırdığınızda bir php kodu gerekir,

if(!isset($_SESSION['test'])) query;

olduğunu, ancak oturum ile çalışır gibi bir şey sona erer.

2 Cevap

Eğer içine kaçıyorum sorun: kullanıcı çok uzun bekledi eğer bir oturumda sadece by itself dolmaz, bir oturum is sonraki sayfa yük doldu. Istekleri (kullanıcı eylem) arasında tarayıcı ve sunucu arasında hiçbir iletişim yok gibi, sunucu bilmiyorsanız eğer, örneğin kullanıcı sadece (web sitesi açık kalır ya da yemekleri yapıyor) tarayıcı kapattı.

Yani sessin is (sürece bir sonraki pageload :) olduğu gibi) bir sonraki pageload üzerinde doldu eğer size anlatacağım gibi kod ile yanlış bir şey yok sanırım.

Eğer really emin olmak için gerekirse bir oturum süresi sonra, sorgu çalışır, ben bir veritabanına oturumları kaydetmek ve sorguyu çalıştırmak için her pageload bir "temizleme"-komut dosyasını çalıştırmak gerekecek sanırım ve süresi dolmuş seans kurtulmak. (Örneğin "lastUserAction" kaydetmek ve oturum sınırı ne olursa olsun o karşılaştırın)

Ben veritabanında oturum oluşturulan tarihini kaydetmek ve oturum gibi sona kontrol öneririm:

if($db->checkExpiredSession('test') == true) {
  $db->query('...');
}

Sadece bir düşünce.