セッションデータを含む配列を次のように生成しました。
array(8) {
["session_id"]=> string(32) "1dc5eb3730601a3447650fa4453f36cd"
["ip_address"]=> string(3) "::1"
["user_agent"]=> string(102) "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36"
["last_activity"]=> int(1427602284)
["user_data"]=> string(0) ""
["roll_no"]=> string(6) "111416"
["is_logged_in"]=> int(1)
[0]=> object(stdClass)#20 (6)
{
["name"]=> string(13) "durex"
["email"]=> string(25) "[email protected]"
["year"]=> string(1) "2"
["semester"]=> string(1) "4"
["branch"]=> string(2) "IT"
["parent_email"]=> string(27) "[email protected]"
}
}
上記のセッション$ userdataを使用してname(durex)をエコーするにはどうすればよいですか?
これは、Codeigniter 2.0で設定した一部のユーザーデータを設定して取得する場合に実行するプロセスです。
_<?php
$user_array = array(
'name' => 'bob',
'email' => '[email protected]'
);
$this->session->set_userdata('userdata', $user_array);
$user_data = $this->session->userdata('userdata');
//Returns User's name
echo $user_data['name'];
?>
_
貼り付けたものが正しくフォーマットされたかどうかはわかりません。また、_print_r
_変数で何が取得されているかを確認するには、_$user_data
_またはvar_dump($user_data)
を実行してください
編集:投稿を更新したので、これを行う必要があることは明らかです。
_<?php
$user_data = $this->session->userdata('0');
echo $user_data->name;
?>
_
これが機能するかどうかを確認してください。セッション値から取得している場合:
<?php
$user_data = $this->session->userdata('user_data');
echo $user_data[0]['name'];
?>
あなたが配列から取得している場合:
<?php
echo $your_array_name['user_data'][0]['name'];
?>
注:これはPHPの配列の正しい形式です
<?php
$my_array = Array (
'session_id' => '8f9286115a38df9ed54a65b135d4e8c0',
'ip_address' => '::1',
'user_agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36',
'last_activity' => 1427600580,
'roll_no' => 111416,
'is_logged_in' => 1,
'email' => '',
'user_data' => Array (
0 => Array (
'name' => 'durex',
'email' => '[email protected]',
'year' => 2 ,
'semester' => 4,
'branch' => 'CSE',
'parent_email' => '[email protected]'
)
)
);
echo $my_array['user_data'][0]['name'];
?>
1.セッションを取得し、変数$ usernya = $ this-> session-> get_userdata( 'sess');に保存します。
2.これで、シンプルなエコーでデータを表示できますecho echo $ usernya ['username'];
Codeigniter 3では、PHPのネイティブ$_SESSION
変数を使用するだけでセッションデータを取得できます
$_SESSION['item']
または魔法のゲッターを通じて
$this->session->item
それはまだ伝統を可能にします
$this->session->userdata('item');
詳細 ドキュメント内