2011-06-06 32 views
0

我有一個小問題。我試圖從[user]中提取數據,但我似乎可以正確地做到這一點。有人可以請給我一個例子,如何提取用戶ID,從那裏我是金。這是$_SESSION數組(會話包含的內容),如果有幫助的話。從多維數組中提取特定數據

Array ([__default] => Array ( 
          [session.counter] => 3 
          [session.timer.start] => 1307209662 
          [session.timer.last] => 1307209693 
          [session.timer.now] => 1307209701 
          [session.client.browser] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 
          [registry] => JRegistry Object ( 
                  [_defaultNameSpace] => session 
                  [_registry] => Array ( 
                        [session] => Array ( 
                             [data] => stdClass Object () 
                             ) 
                       ) 
                  [_errors] => Array () 
                  ) 
          [user] => JUser Object ( 
                [id] => 0 
                [name] => 
                [username] => 
                [email] => 
                [password] => 
                [password_clear] => 
                [usertype] => 
                [block] => 
                [sendEmail] => 0 
                [gid] => 0 
                [registerDate] => 
                [lastvisitDate] => 
                [activation] => 
                [params] => 
                [aid] => 0 
                [guest] => 1 
                [_params] => JParameter Object ([_raw] => 
                        [_xml] => 
                        [_elements] => Array () [_elementPath] => Array (                                        [0] => C:\xampp\htdocs\libraries\joomla\html\parameter\element) 
                                          [_defaultNameSpace] => _default 
                                          [_registry] => Array ( 
                                                [_default] => Array ( 
                                                     [data] => stdClass Object () 
                                                     ) 
                                               ) 
                                          [_errors] => Array () 
                        ) 
                [_errorMsg] => [_errors] => Array () 
                ) 
          [session.token] => 971893bd69fff85ea2a006788a28b15d 
         ) 
    [referrerid] => AUPRS-JOHNDOE 
    ) 
+0

歡迎使用堆棧溢出 - 幫助人們回答您的問題的最佳方法之一是在您的問題中很好地格式化任何代碼。看看這裏的幫助筆記:http://stackoverflow.com/editing-help – 2011-06-06 17:49:14

+0

如果這是一個Joomla會話,那麼可能有包裝函數可以完成獲取一些用戶信息。另外,*您究竟如何嘗試訪問數據? – mario 2011-06-06 17:51:41

+0

我想包括一些腳本到我的joomla爲基礎的網站,一個例子是從ajaxim.com ajaxim和我需要檢查外部joomla如果用戶登錄,提取他的用戶名,身份證,密碼和其他相關信息關於他在ajaxim或未來的腳本中使用,我想集成。 – Aberatiu 2011-06-06 18:33:22

回答

1
$user = $_SESSION['user']; 
echo $user->id; 

這似乎是你所需要的。

0

這將輸出的用戶名(如果有任何)

print $_SESSION["__default"]["user"]->name; 

首先需要克服$ _SESSION數組中的__default關鍵指標。同樣是user一個數組鍵。但是user條目包含的是一個對象,因此您需要使用對象箭頭來最終訪問name

此外,我不會依靠__default是給定的。對Joomla一無所知,但$ _SESSION數組結構可能更加靈活。因此,最好找到一個函數來取代你的用戶對象。

+0

馬里奧,我最終找到了一個解決方案,但它不像你的優雅和乾淨,所以我放棄了你的。你的解決方案是完美的對於參考,我不那麼幹淨的解決方案是這個函數getvalue($ value,$ key,$ what) { \t $ info [$ key] = $ value; \t echo $ info [$ what]; } $ array = $ _ SESSION ['__ default'] ['user']; array_walk($ array,「getvalue」,「username」); – Aberatiu 2011-06-06 18:38:59