【发布时间】:2015-01-22 16:12:44
【问题描述】:
我正在尝试弄清楚如何将用户的名字添加到会话数据中。目前我只能添加电子邮件,甚至不确定我是如何做到的。任何帮助将不胜感激,谢谢。
这是我添加新用户的模型:
public function add_user($key){
$this->db->where('key', $key);
$temp_user = $this->db->get('temp_users');
if($temp_user){
$row = $temp_user->row();
$data = array(
'firstname' => $row->firstname,
'email' => $row->email,
'password' => $row->password
);
$did_add_user = $this->db->insert('users', $data);
}
if($did_add_user){
$this->db->where('key', $key);
$this->db->delete('temp_users');
return $data['email'];
} return false;
}
这是我的控制器信息(我目前正在为名字的会话数据添加一个静态值“kyle”)。我想添加从数据库中获取的实际用户名字:
public function register_user($key){
$this->load->model('model_users');
if($this->model_users->is_key_valid($key)){
if($newemail = $this->model_users->add_user($key)){
$data = array(
'firstname' => "kyle",
'email' => $newemail,
'is_logged_in' => 1
);
$this->session->set_userdata($data);
redirect('login/members');
}else echo "Failed to add user, please try again.";
}else echo "invalid Key";
}
这是我的看法:
会员页面
session->userdata('email');回声 $session_id; ?>
会话->all_userdata(); print_r($session_info); ?>
这是会话数组打印出来的内容:
Array ( [session_id] => 4fb01d348ba495ef010fe07415713167 [ip_address] => blah.blah.blah [user_agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 [last_activity] => 1421942397 [user_data] => [firstname] => kyle [email] => freeride5567@yahoo.com [is_logged_in] => 1 )
【问题讨论】:
-
我能够让会话数组保存名字。现在我被困在如何在视图中显示。新会话数组:
-
Array ([session_id] => c7ea9d37859602c2d3190dce14c120bd [ip_address] => 654.45.45 [user_agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 [last_activity] => 1421943335 [user_data] => [firstname] => kyle [email] => Array ([firstname] => Eric [email] => freeride5567@yahoo.com [password ] => 894027e71b85d60bcc5b0dbe6e83f1f6 ) [is_logged_in] => 1 )
标签: php codeigniter session