Php Codeigniter会话无法使用我的代码
我在codeigniter中遇到了这个会话问题,没有显示任何内容。我使用ajax调用结果。如果我只将其指向echo,它将显示正确的用户id。我不知道我错了吗?我希望有人能纠正我。多谢各位 这是我的用户登录功能。这用于为当前用户登录设置会话Php Codeigniter会话无法使用我的代码,php,ajax,codeigniter,session,Php,Ajax,Codeigniter,Session,我在codeigniter中遇到了这个会话问题,没有显示任何内容。我使用ajax调用结果。如果我只将其指向echo,它将显示正确的用户id。我不知道我错了吗?我希望有人能纠正我。多谢各位 这是我的用户登录功能。这用于为当前用户登录设置会话 public function login(){ $username = $this->input->post('username'); $password = $this->input->post('password
public function login(){
$username = $this->input->post('username');
$password = $this->input->post('password');
$sql= $this->crud->getData("
tbl_user","
user_username='$username' AND
user_password=md5('$password')
LIMIT 1");
if($sql['total']==1) {
$user_sess = array();
foreach($sql['rows'] as $row){
$user_sess = array('user_id'=>$row->user_id,
'user_name'=>$row->user_username,
'user_role'=>$row->user_role,
'profile_id'=>$row->profile_id,
'user_type'=>$row->user_type,
'user_status'=>$row->user_status,
'user_group_id'=>$row->user_group_id,
'user_sub_group_id'=>$row->user_sub_group_id);
}
$this->session->set_userdata('user_sess', $user_sess);
$result['login']='valid';
}else{
$result['login']='invalid';
}//end if else
echo json_encode($result);
}/*END LOGIN FUNCTION*/
这是会话不工作时的功能。正在调用当前用户登录id
function user_current_details(){
$user_id=$this->session->userdata('user_sess');
$sql = $this->crud->getData("tbl_user as u,tbl_group as g, tbl_sub_group as sg, tbl_user_permission as up, tbl_user_profile as p", "u.user_id= '$user_id[user_id]' AND u.user_group_id=g.group_id AND u.user_sub_group_id = sg.sub_group_id AND up.user_user_perm ='$user_id[user_id]' AND u.profile_id=p.profile_id")['rows'];
echo json_encode($sql);
}
这是要在视图中显示的Ajax函数。在这个示例中,我调用要在视图中显示的用户配置文件图片
function user_current_details(){
$.post(baseurl + 'globalFunction/user_current_details', {
}, function (data) {
var result = eval('(' + data + ')');
$("#img_user_current").attr('src',baseurl+'files/user_pics/'+result[0].profile_img);
})}
多谢各位。对不起,我的英语不好您正在定义会话数据的数组,用户ID设置为
user\u ID
因此,在user\u current\u details()
函数中,您将获得如下用户ID:
$user_id=$this->session->userdata('user_id');
而不是
$user_id=$this->session->userdata('user_sess');
阅读文档以获取更多帮助:您正在定义会话数据的数组,用户ID设置为
user\u ID
因此,在user\u current\u details()
函数中,您将获得如下用户ID:
$user_id=$this->session->userdata('user_id');
而不是
$user_id=$this->session->userdata('user_sess');
阅读文档以获取更多帮助:有人在吗。。请(您会遇到什么错误?请参阅此项以查看是否存在任何类型的错误…还有一件事,如果您将结果数限制为1,则意味着只有一个值。在这种情况下,为什么需要foreach?公共函数signup(){$data=array('signupFName'=>$this->input->post('signupFName')),'SignupName'=>$this->input->post('SignupName'),'signupEmail'=>$this->input->post('signupEmail'),'signupPassword'=>$this->input->post('signupPassword');$this->session->set_userdata('user_signup',$data);}诸如此类的东西应该足够任何人了..请(您会遇到什么错误?请参阅此项以查看是否存在任何类型的错误…还有一件事,如果您将结果数限制为1,则意味着只有一个值。在这种情况下,为什么需要foreach?公共函数signup(){$data=array('signupFName'=>$this->input->post('signupFName')),'SignupName'=>$this->input->post('SignupName'),'signupEmail'=>$this->input->post('signupEmail'),'signupPassword'=>$this->input->post('signupPassword');$this->session->set_userdata('user_signup',$data);}这样的东西应该足够了