2012-11-24 10 views
8

मैं निम्नलिखित कोड का उपयोग कर Yii में कुछ सत्र चर सेट करने के लिए कोशिश कर रहा हूँ:Yii सत्र प्रबंधन

$session=new CHttpSession; 
      $session->open() ; 
      $session->setSessionName('My Session') ; 
      $session['sleep'] = 0 ; 
      $session['attempts'] = 0 ; 
      $session->writeSession('sleep','0') ; 
      $session['ip'] = $this->get_ip_address() ; $session->close() ; var_dump($session,$session['ip']) ; 

हालांकि, मैं नहीं ऊपर सत्र vaiables सेट करने में सक्षम हूँ, डंप निम्न परिणाम है:

object(CHttpSession)#17 (5) { ["autoStart"]=> bool(true) ["behaviors"]=> array(0) { } ["_initialized":"CApplicationComponent":private]=> bool(false) ["_e":"CComponent":private]=> NULL ["_m":"CComponent":private]=> NULL } string(3) "::1" 

यह $ सत्र और $ सत्र ['ip'] को दो पूरी तरह से भिन्न चर के रूप में देखता है। कोइ इसमें मेरी मदद कर सकता हैं ?

उत्तर

26

मैं वाईआई के तहत सत्रों के साथ काम करता हूं, मैं ऐप() चर के तहत वैश्विक सत्र चर का उपयोग करता हूं। तो अगर आप इस तरह मान संग्रहीत कर सकते हैं:

Yii::app()->session['sleep'] = "value"; 

और तुम इस तरह मूल्यों को प्राप्त कर सकते हैं: इस तरह से आप उपयोग कर सकते हैं

unset(Yii::app()->session['sleep']); 

:

$sleep = Yii::app()->session['sleep']; 

अंत में आप इस तरह इसे हटा सकते हैं उन्हें हर जगह अपने कोड में। मैं आपको इस लेख को पढ़ने की सलाह देता हूं: http://www.larryullman.com/2011/05/03/using-sessions-with-the-yii-framework/ इसमें आपकी सारी जानकारी है जो आपको चाहिए।

+0

हाँ, यह मैं क्या कर समाप्त हो गया है !! वैसे भी जवाब के लिए धन्यवाद !! –

+0

आपका स्वागत है। – Skatox

+0

मैं इसका भी उपयोग करता हूं। लेकिन, इस और छेड़छाड़ के बीच क्या अंतर है? – shgnInc

-1
 
$session = new \yii\web\Session(); 

$session->open(); 

$session['account_id'] = $id; 

$session['account_name'] = $name; 
+1

कोड केवल उत्तर ही भयभीत हैं। कृपया कुछ स्पष्टीकरण जोड़ें कि यह क्यों काम करता है। ओपी के मुद्दे से सीधे संबंधित नहीं, यह वाईआई 2 है। – Gogol