PHP Oturumlar

PHP session değişkenleri, kullanıcı oturumu hakkında bilgi saklamak veya kullanıcı oturum ayarlarını değiştirmek için kullanılır. Session değişkenleri tarafından saklanan bilgiler tek bir kullanıcıya aittir ve uygulamanın tüm sayfalarında kullanılabilir.

PHP Session Değişkenleri

Bir uygulamanı çalıştırdığınızda, onu açarsınız, bazı değişiklikler yaparsınız ve kapatırsınız. Bu, bir oturuma benzer. Bilgisayar kim olduğunuzu biliyor. Uygulamayı ne zaman başlattığınızı ve ne zaman sonlandırdığınızı biliyor. Ancak, İnternet'te, sunucunun kim olduğunuzu ve ne yaptığınızı bilmediği bir sorun var: HTTP adresleri durumunu koruyamaz.

Kullanıcı bilgilerini kullanılmak üzere sunucuda saklayarak PHP session, bu sorunu çözer (örneğin kullanıcı adı, satın alınan ürünler vb.). Ancak, oturum bilgileri geçici olup, kullanıcı web sitesinden ayrıldığında silinir. Kalıcı olarak bilgi saklamak istiyorsanız, verileri veritabanına saklayabilirsiniz.

Session işlevi, her ziyaretçi için benzersiz bir id (UID) oluşturmak ve bu UID'ye dayanarak değişkenleri saklamakdır. UID çerezlerde saklanır veya URL üzerinden iletilir.

PHP Oturumu Başlat

Kullanıcı bilgilerinizi PHP oturumuna saklamadan önce, öncelikle oturumu başlatmanız gerekir.

Açıklama:session_start() fonksiyonu <html> etiketi öncesinde olmalıdır:

<?php session_start(); ?>
<html>
<body>
</body>
</html>

Yukarıdaki kod, kullanıcı oturumunu kaydetmek için sunucuya kaydedecek ve kullanıcı oturumuna bir UID atayacaktır.

Session değişkenlerini saklama

PHP $_SESSION değişkenini kullanarak session değişkenlerini saklama ve geri alma doğru yöntemidir:

<?php
session_start();
// oturum verilerini sakla
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//alışveriş oturum verilerini çek
echo "SayfaGörünümleri=". $_SESSION['views'];
?>
</body>
</html>

Çıktı:

SayfaGörünümleri=1

Aşağıdaki örnekte, basit bir page-view sayacı oluşturduğumuzun gösterilir. isset() fonksiyonu, "views" değişkeninin ayarlanıp ayarlanmadığını sorgular. Eğer "views" değişkeni ayarlanmışsa, sayacı artırırız. Eğer "views" yoksa, "views" değişkenini oluşturur ve 1 olarak ayarlarız:

<?php
session_start();
if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;
else
  $_SESSION['views']=1;
echo "Görüntüleme=". $_SESSION['views'];
?>

Oturumu Sonlandırma

Belirli bazı oturum verilerini silmek istiyorsanız, unset() veya session_destroy() fonksiyonlarını kullanabilirsiniz.

unset() fonksiyonu, belirtilen oturum değişkenlerini serbest bırakmak için kullanılır:

<?php
unset($_SESSION['views']);
?>

Ayrıca, session_destroy() fonksiyonunu kullanarak oturumu tamamen sonlandırabilirsiniz:

<?php
session_destroy();
?>

Açıklama:session_destroy() oturumu sıfırlayacak, tüm saklı oturum verilerini kaybedeceksiniz.