2016-12-16 4 views
1

У меня есть эта проблема с этим сеансом в codeigniter, что ничего не отображается. Я использую для вызова результата с помощью ajax. Если я направляю его только на эхо, он показывает правильный идентификатор пользователя. Не знаю, не ошибаюсь? Надеюсь, кто-то меня исправит. СпасибоСеанс Codeigniter, не работающий с моим кодом

Это моя функция для входа пользователя в систему. Это делается для установки сеанса для текущего пользователя.

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

спасибо. Извините за мой плохой английский

+0

Любой есть .. пожалуйста .. :( –

+0

какой ошибка вы получаете? –

+0

https://www.codeigniter.com/user_guide/libraries/sessions.html см. Это, чтобы узнать, есть ли какая-либо ошибка ... –

ответ

0

Массив, который вы определяете данные сеанса, идентификатор пользователя устанавливается как user_id

Таким образом, в функции user_current_details(), вы получите идентификатор пользователя, как это:

$user_id=$this->session->userdata('user_id'); 

вместо

$user_id=$this->session->userdata('user_sess'); 

Прочитайте документацию для получения дополнительной помощи: https://www.codeigniter.com/user_guide/libraries/sessions.html#retrieving-session-data

Смежные вопросы