PHP'nin Oturum Depolama

2 Cevap php

Ben bazı sorun PHP'nin oturumları anlama yaşıyorum. Öncelikle ben bir veritabanında oturum verilerini tasarruf ediyorum, bunu tanımlamak için PHP'nin session_set_save_handler() işlevi kullanılır.

PHP DB oturum verileri kaydeder zaman anlıyorum yolu böylece gibidir:

Ben kullanıcının tarayıcısına çıktı sonra bazı metin bazı oturum değişkenleri tanımlarsanız, ben oturum verileri metin çıktı sonra kadar DB kaydedilmez inanıyorum. Bu kod biraz bakmak Lütfen:

$_SESSION['username'] = $username;


//check if session variable set
if($_SESSION['username'] != $username)
{
die('error...');
}

Kodda if ifadesi false yani die() oluşur asla döndürür. Ayrıca PHP eğer deyimi sonrasına kadar DB oturum veri yazmaz. Oturum verileri henüz DB yazılı değilse ne ben anlamıyorum nasıl PHP $username $_SESSION['username'] ile karşılaştırarak, nedir? $_SESSION['username'] oturum verileri DB yazılır yazısının sonuna kadar sunucu hafızaya alınır?

Zaman ayırdığınız için teşekkür ederiz.

2 Cevap

Kesinlikle doğru.

Oturum veri isteği sonuna kadar bellek tutulur (veya session_write_close kadar () denir). $ _SESSION Içerikleri daha sonra yapılandırılmış depolama mekanizması yazılır.

Session_start () olur istek bitene kadar bir sonraki isteği üzerine, veri, onlar burada kalmak $ _SESSION, depolama yüklenir.

Aksi takdirde, PHP (sizin durumunuzda) veritabanına yazma / oturumuna şey dokundu her zaman okuma olacaktır.

Sen oturumu yazmak için php zorlamak için bir session_write_close kullanabilirsiniz.

See : http://us2.php.net/manual/en/function.session-write-close.php