2012-05-07 31 views

cevap

11

Bunu deneyebilirsiniz.

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]; 
} 

Yani, Oturum bir değişkeni kaydetmek için:

lists_session("s_key", "value"); 

Ve değerini almak için, sadece kullanın:

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

Ayrıca bir session_start'a veya drupal'da zaten var mıyız? – pal4life

+3

['drupal_session_start()'] 'ı kullanabilirsiniz (https://api.drupal.org/api/drupal/includes!session.inc/function/drupal_session_start/7). Henüz başlamadıysa oturumu başlatır. –

+2

'' 'drupal_session_start()' '' işlevini aramanıza gerek yoktur. Veri '' '$ _SESSION''' için eklendikten sonra Drupal, isteğin sonunda bu oturumu kaydedecektir. Eğer '' 'drupal_session_start()' '' 'yi çağırmanız gerekiyorsa, doğrudan bir şeyler yanlıştır. – greggles

5

$ _SESSION değişkeni içinde kullanmanın bir sorunum yok kendi modülüm. Verileriniz için benzersiz bir alt anahtar oluşturmayı unutmayın.

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

Bir php sayfasındaki oturum değişkenlerine erişmek istiyorum. Bu sayfa drupal web sitemde lightbox2 modülü ile kullanılabilir. Ve tez sayfaları arasında iletişim kurmak için oturum değişkenlerini kullanmam gerekiyor. Yani, kod: $ _SESSION ['background_menu'] = 'sarı'; Ve php sayfamda: echo $ _SESSION ['background_menu']?> Ben de session_start var ama çalışmıyor. Yardım :) – user785975

+0

Drupal önyükleme, session_start işlemini gerçekleştirecek. Peki, php kodunuz nasıl çalışır? Bir drupal modülü mü yoksa bağımsız php-script'leriniz var mı? – Kristoffer

+0

bir php komut dosyasıdır – user785975

1

Dizine kaydetmeden önce dizi, obj ... gibi verilerinizi serileştirmeyi unutmayın. $ arr = array(); $ _SESSION ['mysession'] = serialise ($ arr);

İlgili konular