2012-05-07 8 views
5

मैं एक परिवर्तनीय सत्र ($ _session) का उपयोग करना चाहता हूं लेकिन यह ड्रूपल 7 में काम नहीं करता है। परिवर्तनीय सत्र को बचाने के लिए ड्रूपल 7 में क्या संभावनाएं हैं।ड्रोपल 7 में सत्र चर को कैसे सहेजना है?

उत्तर

11

आप इसे आजमा सकते हैं।

function lists_session($key, $value = NULL) { 
    static $storage; 
    if ($value) { 
    $storage[$key] = $value ; 
    $_SESSION['lists'][$key] = $value ; // I use 'lists' in case some other module uses 'type' in $_SESSION 
    } 
    else if (empty($storage[$key]) && isset($_SESSION['lists'][$key])) { 
    $storage[$key] = $_SESSION['lists'][$key]; 
    } 
    return $storage[$key]; 
} 

तो, सत्र में एक चर को बचाने के लिए:

lists_session("s_key", "value"); 

और मान प्राप्त करने के लिए, बस का उपयोग करें:

$myVar = lists_session("s_key"); 
+0

क्या हमें एक सत्र_स्टार्ट की आवश्यकता है या ड्रूपल में पहले से मौजूद है? – pal4life

+3

आप ['drupal_session_start()'] (https://api.drupal.org/api/drupal/includes!session.inc/function/drupal_session_start/7) का उपयोग कर सकते हैं। यह सत्र शुरू होगा यदि यह पहले से शुरू नहीं हुआ है। –

+2

आपको '' 'drupal_session_start()' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '। जैसे ही डेटा '' '$ _SESSION''' में जोड़ा जाता है, तब ड्रूपल उस सत्र को अनुरोध के अंत में सहेज लेगा। अगर आपको '' '' drupal_session_start() '' 'सीधे कॉल करना है तो कुछ गलत है। – greggles

5

मैं में $ _SESSION चर का उपयोग कर की कोई समस्या नहीं है मेरा अपना मॉड्यूल बस अपने डेटा के लिए एक अद्वितीय उप कुंजी बनाने के लिए ध्यान में रखें।

$_SESSION['mydata'] = array(of your data); 
+0

याद रखें मैं एक php पेज में सत्र चरों तक पहुंच प्राप्त करना चाहता हूं। यह पृष्ठ मेरी ड्रोपल वेबसाइट पर लाइटबॉक्स 2 मॉड्यूल के साथ उपलब्ध है। और मुझे थीस पृष्ठों के बीच संवाद करने के लिए सत्र चर का उपयोग करने की आवश्यकता है। तो, कोड है: $ _SESSION ['background_menu'] = 'पीला'; और मेरे PHP पृष्ठ में: $ _SESSION ['background_menu'] echo करें?> मेरे पास session_start भी है लेकिन यह काम नहीं करता है। सहायता :) – user785975

+0

Drupal बूटस्ट्रैप session_start करेगा। तो आपका PHP कोड कैसे चलाया जाता है। क्या यह एक ड्रोपल मॉड्यूल है या क्या आपके पास स्टैंडअलोन php-scripts है? – Kristoffer

+0

यह एक php स्क्रिप्ट – user785975

1

सत्र में सहेजने से पहले अपने डेटा जैसे सरणी, obj ... को क्रमबद्ध करना याद रखें। $ arr = array(); $ _SESSION ['mysession'] = serialise ($ arr);

संबंधित मुद्दे