Cevaplar
-
Seçenek 1:) Session'un uzun kalması için kullanıcının makinesine cookie bırakabilirsiniz.
Seçenek 2:) Kullanıcının tarayıcı sayfası sürekli açık, ancak herhangi bir hareket yoksa (öğle arasına çıkmak gibi) bu durumda session'ı devam ettirmek için ajax kullanarak örneğin her 20 dakikada bir sunucuya "Ben burdayım!" mesajı gönderirsiniz. (Bu işi yapacak .PHP sayfasında sadece session_start() yazması yeterli olacaktır.-
harryistal
1. seçeneği acıklarmısın zahmet olmazsa kullanıcının makinesine cookie bırakmanın sessionla alakasını anlamadım süresini nası uzatabiliyor12 yıl önce yazılmış -
Vedia
Cooki içine kullanıcıyı tanımlar özel bir bilgi kaydedersiniz, sayfanız açıldığında da bu bilgiye bakarsınız. Eğer, bu bilgiyi siteniz aracılığıyla doğrulayabiliyorsanız kullanıcı daha önceden login olmuş demektir ve siz de bu doğrulama neticesinde login olma konusunda login ekranınızda yaptığınız şeyleri burada da yaparak bu işi bitirebilirsiniz.
Böylece, gmail, facebook gibi sitelerin çalışmasını da anlamış olacaksınız.12 yıl önce yazılmış -
harryistal
o zaman session kullanmanın bir anlamı yokki anlamadım herşeyi cookie ile yapbilrm loginde cookie bırakırım sayfa başlarındada cookie kontrol ederim olur biter sessionun buradaki gorevi ne oluyor peki?12 yıl önce yazılmış -
Vedia
Session denilen şey, browser'in kapanmasıyla birlikte biter.
Kullanıcınız tarayıcısını kapatacaksa çözümünüz yukarıda belirttiğim "Seçenek 2" olacaktır.
Kullanıcı sizin sayfanızı açtıktan sonra başka sitelere gider ve örneğin 2 saat sonra (tarayıcısını kapatmaksızın) yine sizin sitenize gelirse session sona ermiş olur. Çünkü, sunucu ile iletişim olmadığı sürece yaklaşık 25 dakika sonra session değerleriniz sunucu tarafından otomatik olarak sıfırlanır. Bu durum da da çözümünüz yukarıda belirttiğim "Seçenek 2" olacaktır.
Son olarak, kullanıcı sizin sitenizi açtı ve site açık olduğu halde hiç bir işlemde bulunmadı. Belki yemeğe gitti, uyudu ve bilgisayarı açık kaldı. Bu durumda ise çözümünüz yukarıda belirttiğim "Seçenek 1" olacaktır.
Bunların dışında bu konuya ilişkin BAŞKA BİR seçeneğiniz yok.12 yıl önce yazılmış -
Vedia
Session denilen şey, browser'in kapanmasıyla birlikte biter.
Kullanıcınız tarayıcısını kapatacaksa çözümünüz yukarıda belirttiğim "Seçenek 2" olacaktır.
Kullanıcı sizin sayfanızı açtıktan sonra başka sitelere gider ve örneğin 2 saat sonra (tarayıcısını kapatmaksızın) yine sizin sitenize gelirse session sona ermiş olur. Çünkü, sunucu ile iletişim olmadığı sürece yaklaşık 25 dakika sonra session değerleriniz sunucu tarafından otomatik olarak sıfırlanır. Bu durum da da çözümünüz yukarıda belirttiğim "Seçenek 2" olacaktır.
Son olarak, kullanıcı sizin sitenizi açtı ve site açık olduğu halde hiç bir işlemde bulunmadı. Belki yemeğe gitti, uyudu ve bilgisayarı açık kaldı. Bu durumda ise çözümünüz yukarıda belirttiğim "Seçenek 1" olacaktır.
Bunların dışında bu konuya ilişkin BAŞKA BİR seçeneğiniz yok.12 yıl önce yazılmış -
harryistal
söylediklerinizi biliyorum sadece neden cerez ile session kullanmalı ? 1ci secenekteki gibi ben session kullanıp süreyi uzatmaya calısıorum sadece cerez kullanırsam zaten uzar session kullanmama gerek kalmaz session ile uzatmak istediğimde cerez ile kullanmanın ne anlamı var onu anlayamadım sadece çerezle süreyi uzatabilirm zaten12 yıl önce yazılmış -
Vedia
ilk ve son cevaplarımı dikkatle okursanız tüm cevapları bulabilirsiniz.
Buna rağmen kafanıza takılan bir husus olursa lütfen yazın.12 yıl önce yazılmış -
harryistal
neyse okudm hepsini tam anlamıyla ama soruma cevap alamayıyacam sanırm teşekürler saoln12 yıl önce yazılmış
-
-
Eğer isteğin benim anlattığım ise vereceğim mantığı kullanabilirsin.
Mesela 1 saatlik bir cooki oluşturuyoruz kullanıcı giriş yaptığında. Eğer kullanıcı 1 saat boyunca aktif olmaz yani sayfalar arasında gezmez ise oturum 1 saat sonra sonlanır. AMA. Kullanıcı sitede gezmeye devam ediyorsa her sayfaya bir ayar.php v.b. bir sayfa çekiyorsundur onun içine gir ve şunları yaz.
if($kullanici==""){ HİÇBİR İŞLEM YAPTIRMA! }else{ setcookkie("kullanici",$kullanici,time()+60*60); }
Bu üstteki kodun açıklaması; mesela her sayfana çektiğin database bilgileri felan vardır o sayfanın içine bu kodları yazarsan ve her sayfana include edersen KULLANICI HER SAYFA DEĞİŞTİĞİNDE COOKKİE TEKRAR 1 SAATTEN BAŞLAR.
Cookkie bitmesine 1dk kalsın kullanıcı sayfa yenilediğine veya farklı bir sayfaya gittiğinde cookkie yine 1 saatten başlayacaktır.
Umarım istediğin cevaptır.-
harryistal
saolun bunu cookie ile yaptırabiliorum zaten evet dogrudur ama session süresini uzatmakla iligliydi benm soylemek istediğim session süresini cookielere baglı olarak uzatılabiliyor deniyordu onun mantıgını ogrenmek istemiştim
yapabildiklerim cookie ile süresi uzun bi şekilde sayfalarımı kullanabiliyorum session ile en fazla 25 dk felan acık bırakabiliyorum oturumumu cookie de kuullanıp session süresini uzatabilecegim soyleniyor üstede oyle denmiş ama hala soruya cevap bulamadım12 yıl önce yazılmış -
chveneburi
eğer php kullanıyorsanız php.ini içerisinde bunu halledebilirsiniz.
session.gc_maxlifetime satırını incelemeniz öneririm12 yıl önce yazılmış -
harryistal
asp.net vb.net kullanıorum saolun yinede12 yıl önce yazılmış
-