CodeIgniter'daki bir kullanıcı için iki oturumları nasıl kullanılır?

2 Cevap php

Ben bir alışveriş sepeti için cart class kullanıyorum.

Şimdi Simplelogin library kullanmak istiyorum, ama ben giriş yaparken Sepeti oturum silinir.

Bu nasıl çözülebilir?

Bu bir kullanıcı için iki seans kullanmak mümkün mü?

Ya da belki aynı oturumda tüm birleştirme?

2 Cevap

Bu size yardımcı olacak eğer ben Kodu Igniter kullanmayın çünkü, bilmiyorum ve şeyler var nasıl işlendiğini bilmiyoruz.

Ama ben genelde everything Ben hiçbir vars yazılır olma tehlikesi vardır, oturumlarda için alt diziler kullanın. Bir giriş-komut dosyası varsa o sadece (örneğin $ _SESSION ['login'] ['password_hash'] için) $ _SESSION ['login'] kaydetmek istiyorum

Bu kod ateşleyici ile mümkün değil veya o kütüphane her zaman oturumu siler (kitaplığın ne tür böyle bir şey yapar?) Başka bir yere veri kaydetmek zorunda. Ya giriş-şeklinde bir gizli form alanına (ilk verileri seri unutmayın) veya bir tanımlama.

Basit bir giriş loggin sonra yeni bir oturumu yeniden, çok yaygın bir prosedür izler, böylece kullanıcı oturum hemen önce sepeti verileri kaydedilmesi gerekir

Eğer Simplelogin fonksiyonu giriş kodu görebilirsiniz:

     //Destroy old session
    $this->CI->session->sess_destroy();

    //Create a fresh, brand new session
    $this->CI->session->sess_create();

Eğer simplelogin-> login ($ user, $ parola) diyoruz nereye kadar giriş denetleyicisi, sen giriş önce kaydetmeniz gerekir ve daha sonra böyle bir şey arabanı geri yükleme:

$savedCart = $this->cart->contents();
if ( $this->simplelogin->login($user, $password) ){
   // at this point the session has been regenerated, so 
   $this->cart->insert($savedCart); 
}

Bu yardımcı olur umarım