HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
PHP'deki süper küresel değişkenlerden biri olan $_SESSION, mevcut betikte bulunan oturum değişkenlerinin ilişkisel dizisidir. $HTTP_SESSION_VARS da aynı bilgileri içerir, ancak bir süper küresel değildir ve artık kullanım dışı bırakılmıştır.
Bir oturum, sunucuda kayıtlı oturum değişkenlerinin ve değerlerinin saklandığı geçici bir dizinde bir dosya oluşturur. Bu veriler, o ziyaret sırasında sitedeki tüm sayfalar tarafından kullanılabilir olacaktır.
Sunucu her oturuma benzersiz bir SESSIONID atar. HTTP durumsuz bir protokol olduğundan, oturum değişkenlerindeki veriler oturum sonlandırıldığında otomatik olarak silinir.
Bu fonksiyon, bir oturum başarıyla başlatılmışsa true değerini, aksi takdirde false değerini döndürür.
Bir oturum değişkeninin değerini geri okumak için echo/print ifadelerini veya var_dump() veya print_r() fonksiyonlarını kullanabilirsiniz.
Mevcut oturumdaki tüm oturum değişkenlerinin listesini elde etmek için, $_SESSION'ı dolaşmak üzere bir foreach döngüsü kullanabilirsiniz.
Tüm oturum verilerini manuel olarak temizlemek için session_destroy() fonksiyonu vardır . Belirli bir oturum değişkeni unset() fonksiyonunu çağırarak da serbest bırakılabilir.
Bu kodu "test.php" olarak belge kök klasörüne kaydedin ve bir istemci tarayıcısında açın. Verileri girin ve Gönder düğmesine basın.
"Gönder" butonuna tıkladığınızda, oluşturulan tüm oturum değişkenlerinin bir listesi gösterilecektir.
Daha sonra "hello.php" dosyasına aşağıdaki scripti ekleyip kaydedin.
Şimdi, "hello.php"ye gitmek için "test.php" sayfasındaki bağlantıyı takip edin. Okunan oturum değişkenlerini gösterecektir.
Oturum Nedir?
Oturum, verileri tüm bir web sitesinin sayfalarında erişilebilir kılmanın alternatif bir yoludur. Bir kullanıcının bir sunucuyla bağlantı kurduğu zaman ile bağlantının sonlandırıldığı zaman arasındaki süredir. Bu aralıkta, kullanıcı farklı sayfalara gidebilir. Çoğu zaman, bazı verilerin sayfalar arasında kalıcı olarak erişilebilir olması istenir. Bu, oturum değişkenleri tarafından kolaylaştırılır.Bir oturum, sunucuda kayıtlı oturum değişkenlerinin ve değerlerinin saklandığı geçici bir dizinde bir dosya oluşturur. Bu veriler, o ziyaret sırasında sitedeki tüm sayfalar tarafından kullanılabilir olacaktır.
Sunucu her oturuma benzersiz bir SESSIONID atar. HTTP durumsuz bir protokol olduğundan, oturum değişkenlerindeki veriler oturum sonlandırıldığında otomatik olarak silinir.
session_start() İşlevi
Oturum verilerine erişimi etkinleştirmek için session_start() fonksiyonu çağrılmalıdır. session_start(), bir GET veya POST isteğiyle iletilen veya bir çerez aracılığıyla iletilen bir oturum tanımlayıcısına dayanarak bir oturum oluşturur veya geçerli oturumu sürdürür.session_start(array $options = []): bool
Bu fonksiyon, bir oturum başarıyla başlatılmışsa true değerini, aksi takdirde false değerini döndürür.
Oturum Değişkenlerini İşleme
Yeni bir oturum değişkeni oluşturmak için $_SESSION dizisine bir anahtar-değer çifti ekleyin.$_SESSION[ "var"]=value;
Bir oturum değişkeninin değerini geri okumak için echo/print ifadelerini veya var_dump() veya print_r() fonksiyonlarını kullanabilirsiniz.
echo $_SESSION[ "var"];
Mevcut oturumdaki tüm oturum değişkenlerinin listesini elde etmek için, $_SESSION'ı dolaşmak üzere bir foreach döngüsü kullanabilirsiniz.
foreach ($_SESSION as $key=>$val)
echo $key . "=>" . $val;
Tüm oturum verilerini manuel olarak temizlemek için session_destroy() fonksiyonu vardır . Belirli bir oturum değişkeni unset() fonksiyonunu çağırarak da serbest bırakılabilir.
unset($_SESSION[ "var"]);
Oturum Fonksiyonlarının Listesi
PHP'de oturum verilerini yönetmek için birçok yerleşik fonksiyon vardır.| Oturum Fonksiyonları | Tanım |
|---|---|
| session_abort | Oturum dizisi değişikliklerini at ve oturumu sonlandır |
| session_cache_expire | Geçerli önbellek süresinin dolmasını döndür |
| session_cache_limiter | Mevcut önbellek sınırlayıcısını al ve/veya ayarla |
| session_commit | session_write_close takma adı |
| session_create_id | Yeni oturum kimliği oluştur |
| session_decode | Oturum kodlu bir dizeden oturum verilerini çözer |
| session_destroy | Bir oturuma kayıtlı tüm verileri yok eder |
| session_encode | Geçerli oturum verilerini oturum kodlu bir dize olarak kodlar |
| session_gc | Oturum verilerinin çöp toplamasını gerçekleştirin |
| session_get_cookie_params | Oturum çerez parametrelerini alın |
| session_id | Geçerli oturum kimliğini al ve/veya ayarla |
| session_is_registered | Bir oturumda küresel bir değişkenin kayıtlı olup olmadığını öğrenin |
| session_module_name | Geçerli oturum modülünü al ve/veya ayarla |
| session_name | Geçerli oturum adını al ve/veya ayarla |
| session_regenerate_id | Mevcut oturum kimliğini yeni oluşturulan bir kimlikle güncelle |
| session_register_shutdown | Oturum kapatma işlevi |
| session_register | Geçerli oturumla bir veya daha fazla genel değişkeni kaydedin |
| session_reset | Oturum dizisini orijinal değerlerle yeniden başlatın |
| session_save_path | Geçerli oturum kaydetme yolunu al ve/veya ayarla |
| session_set_cookie_params | Oturum çerez parametrelerini ayarlayın |
| session_set_save_handler | Kullanıcı düzeyinde oturum depolama işlevlerini ayarlar |
| session_start | Yeni bir oturum başlatın veya mevcut oturumu sürdürün |
| session_status | Geçerli oturum durumunu döndürür |
| session_unregister | Geçerli oturumdan küresel bir değişkeni kayıttan kaldırın |
| session_unset | Tüm oturum değişkenlerini serbest bırak |
| session_write_close | Oturum verilerini yaz ve oturumu sonlandır |
Örnek
Aşağıdaki PHP betiği bir HTML formu oluşturur. Form verileri üç oturum değişkeni oluşturmak için kullanılır. Bir köprü metni tarayıcıyı oturum değişkenlerini geri okuyan başka bir sayfaya götürür.Bu kodu "test.php" olarak belge kök klasörüne kaydedin ve bir istemci tarayıcısında açın. Verileri girin ve Gönder düğmesine basın.
HTML:
<html>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<h3>User's ID: <input type="text" name="ID"/></h3>
<h3>Your Name: <input type="text" name="name"/></h3>
<h3>Enter Age: <input type="text" name="age"/></h3>
<input type="submit" value="Submit"/>
</form>
<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$_SESSION['UserID'] = $_POST['ID'];
$_SESSION['Name'] = $_POST['name'];
$_SESSION['age'] = $_POST['age'];
}
echo "Following Session Variables Created: \n";
foreach ($_SESSION as $key=>$val)
echo "<h3>" . $key . "=>" . $val . "</h3>";
echo "<br/>" . '<a href="hello.php">Click Here</a>';
?>
</body>
</html>
"Gönder" butonuna tıkladığınızda, oluşturulan tüm oturum değişkenlerinin bir listesi gösterilecektir.
Daha sonra "hello.php" dosyasına aşağıdaki scripti ekleyip kaydedin.
PHP:
<?php
session_start();
echo "<h2>Following Session variables Read:</h2>";
foreach ($_SESSION as $key=>$val)
echo "<h3>" . $key . "=>" . $val . "</h3>";
?>
Şimdi, "hello.php"ye gitmek için "test.php" sayfasındaki bağlantıyı takip edin. Okunan oturum değişkenlerini gösterecektir.
