Beyaz.Net İpucu
PHP-Sessions Fonksiyonları
session_start ()
-Bir session başlatır.
-Bir «session başlatmak» ile anlatılmak istenen şudur:
-Kullanıcı için bir kimlik numarası belirlenir.
-Bu kimlik numarası kullanıcıya gönderilmek üzere cookielere eklenir.
-Sessionların sunucu üzerinde tutalacağı klasörde session bilgilerini tutacak bir dosya oluşturularak $_SESSIONS süper değişkeni ilklenir.
string session_id([$degisken])
-Eğer varsa güncel sessiondaki kullanıcının kimlik numarasını verir. Bunun için bir session başlatılmış olmalıdır.
-Ayrıca isteğe bağlı olarak $degisken değişkeni aracılığı ile kendi istediğimiz id’yi atamamız mümkündür.
-Session id değerini kendimiz atıyorsak, bunu session başlamadan önce yapmalıyız.
string session_name([$degisken])
-Session kimlik numarasının tutulacağı değişkenin adını belirlemeye/öğrenmeye yarar.
-Değişiklikler session_start()’tan önce yapılmalıdır.
session_regenerate_id ()
-Güncel sessiondaki bilgileri saklayarak, sessionun kimlik numarasını değiştirir.
-Kullanıcıya yeni kimlik numarası gönderilir.
string session_save_path ([ string $path ] )
-Session bilgilerinin sunucuda nereye kaydedileceğinin öğrenilmesini ve değiştirilmesini sağlar.
-Kayıt klasörü değişiklikleri session_start()’tan önce yapılmalıdır.
-Bu fonksiyon paylaşılan hosting ortamlarında session bilgilerini güvenli bir klasöre taşımak için kullanılabilir.
-Session save path ile belirtilen klasör için PHP’nin dosya yazma/okuma izni mutlaka olmalıdır.
session_set_cookie_params (
int $lifetime,
string $path,
string $domain,
bool $secure = false,
bool $httponly = false
)
-Sessionun kimlik numarasının gönderileceği cookienin özelliklerinin değiştirilmesini sağlar.
lifetime:
-Cookie kullanıcının bilgisayarında ne kadar kalacak?
-Varsayılan: «0». Kullanıcı tarayıcıyı kapatana kadar.
-Hangi sorunlar çıkabilir?
path:
-Cookie domaindeki hangi klasörlere gönderilecek?
-Varsayılan: «/» Hepsine.
domain:
-Cookie hangi domainlerde geçerli olacak?
secure:
-Cookie sadece güvenilir bağlantılarda mı gönderilecek?
httponly:
-Cookie sadece HTTP protokolü ile kurulan bağlantılarda mı gönderilecek?
Burada anlatılan özellikler sadece session cookieleri için değil, tüm cookieler için geçerli özniteliklerdir.
session_unset ()
-Güncel session ile ilgili tüm bilgileri bellekten atar. $_SESSION süper değişkeninin içini boşaltır ve sessiona ait bilgilerin tutulduğu dosyayı boşaltır.
-Bu fonksiyon kullanıcıya gönderilmiş session ID’sini değiştirmez. Sadece içeriğini siler.