En son web geliştirme öğreticiler
 

PHP 5 Oturum


Bir oturum bilgilerini saklamak için bir yoldur (in variables) Birden fazla sayfada kullanılacak.

bir çerez aksine, bilgi kullanıcıların bilgisayarda depolanmaz.


PHP Session nedir?

Eğer bir uygulama ile çalışırken, Açmak bazı değişiklikler yapmak ve sonra kapatın. Bu kadar bir Oturum gibidir. Bilgisayar seni tanıyor. Eğer sona zaman uygulamayı başlatmak ve zaman bilir. Ama internette bir sorun vardır: HTTP adresi durumunu korumaz çünkü web sunucusu, ne yapmak sizin kim olduğunuzu ya da vermez.

Oturum değişkenleri kullanıcı bilgilerini depolayarak bu sorunun birden fazla sayfadan kullanılacak çözmek (eg username, favorite color, etc) . Kullanıcı tarayıcıyı kapatana kadar Varsayılan olarak, oturum değişkenleri sürer.

Yani; Oturum değişkenleri tek kullanıcı hakkında bilgi tutun ve bir uygulamadaki tüm sayfalara mevcuttur.

İpucu: Eğer kalıcı bir depolama alanına ihtiyaç varsa, bir veri depolamak isteyebilirsiniz veritabanı .


PHP Oturum Başlat

Bir oturum ile başlatılır session_start() fonksiyonu.

$ _SESSION: Oturum değişkenleri PHP global değişken ile belirlenir.

Şimdi, denilen yeni bir sayfa yaratalım "demo_session1.php" . Bu sayfada, yeni bir PHP oturum başlatmak ve bazı oturum değişkenleri ayarlayın:

Örnek

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>
»Run örnek

Note: session_start() işlevi belgede ilk şey olmalıdır. Herhangi bir HTML etiketleri önce.


PHP Session Değişken Değerlerini alın

Sonra, adlı başka bir sayfa oluşturmak "demo_session2.php" . Bu sayfadan, biz ilk sayfasında oturum bilgilerini erişecek ("demo_session1.php") .

Bunun yerine her sayfanın başında açmak oturumdan alınır, değişkenler her yeni sayfaya tek tek geçirilen olmadığını oturumu edin ( session_start() ).

Ayrıca tüm oturum değişkeni değerleri küresel $ _SESSION değişkeninde saklanır fark:

Örnek

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>
»Run örnek

Bir kullanıcı oturum için tüm oturum değişken değerleri göstermek için başka bir yol aşağıdaki kodu çalıştırmaktır:

Örnek

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>
»Run örnek

O nasıl çalışır? Nasıl benim öyle biliyor?

765487cf34ert8dede5a562e4f3a7e12: Çoğu oturumları şuna benzer kullanıcının bilgisayarında bir kullanıcı anahtarını ayarlayın. Bir oturum başka bir sayfada açıldığında Sonra, bir kullanıcı anahtarı için bilgisayarınızı tarar. Bir eşleşme varsa, bu oturum değilse, bu yeni bir oturum başlatır olduğunu erişir.


Bir PHP Session Değişken değiştirme

Bir oturum değişkeni değiştirmek için, üzerine yazmak:

Örnek

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>
»Run örnek

PHP Oturumu yok

Tüm global oturum değişkenlerini kaldırmak ve oturumu, kullanım yok etmek session_unset() ve session_destroy() :

Örnek

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>
»Run örnek