2015-11-13 56 views
-1

用戶ID設定爲會話登錄的笨和上網本用戶ID幾個功能中?必須防止url的直接訪問。在codeigniter中登錄時如何將用戶標識設置爲會話並將此用戶標識添加到多個函數中?

public function loginaction() 

    { 

     $this->load->library('session');  

         $a=$this->input->post('email'); 
      $b=trim($this->input->post('password')); 
         $b1=md5($b); 
         $c=1; 
//      echo $a; 
//      echo $b1; 
         $data=$this->userdata->userlogin($a,$b1,$c); 
//      print_r($data); 
//      exit; 
      if($data) 
         { 

        echo true; 
        foreach ($data as $login) 
        { 
         $uid=$this->session->set_userdata('logId',$login->usr_id); 
          //redirect(base_url() . 'main/userhome' . $uid, 'refresh');  
        } 
      } 
      else 
      { 
       echo "Invalid username or password..!!!!"; 
            $a=$this->input->post('email'); 

      } 
    } 

這是我的會話設置代碼。我想在主頁中使用這個userid.how我可以得到它嗎?

<script> 
function myFunction() 
{ 


    $.ajax({ 
      type: "POST", 
      url: "<?php echo base_url()?>Main/loginaction", 
      data:{email:document.getElementById('email').value,password:document.getElementById('password').value}, 
      success: function(data){ 

     alert(data); 

       if(data==true) 
       window.location.replace('<?php echo base_url()?>Main/userhome'); 

      } 
      });  
    } 
</script> 

回答

0

環節,儘可能笨而言,是一個包括下列信息的數組:

用戶的唯一的會話ID(這是一個統計學隨機具有非常強的熵,使用MD5加密便攜串,和再生(默認)每五分鐘) 用戶的IP地址 用戶的用戶代理數據(瀏覽器數據字符串的第120個字符) 的「最後一個活動」時間戳。 以上數據存儲在cookie中的序列化數組這個原型:

[array] 
(
    'session_id' => random hash, 
    'ip_address' => 'string - user IP address', 
    'user_agent' => 'string - user agent data', 
    'last_activity' => timestamp 
) 

找回會話數據:

$this->session->userdata('session_id'); 

一件事你應該必須使用: - >導入會話庫手動

$this->load->library('session'); 

- >或者類似這樣的application/config/autoload.php添加 '會話':

$autoload['libraries'] = array('database,session'); 

注意:您可以包括庫直接像逗號分隔值。

+0

感謝親愛的對我的幫助 – Angel

2
$this->session->set_userdata('user_id', $value); 
//to get 
$this->session->userdata('user_id); 
+0

是此值可用於整個項目? – Angel

+0

你的會議課程何時可用。 – Kisaragi

+0

感謝您的幫助 – Angel

0

我猜你是使用數據庫來存儲會話。

我們訪問的數據會話:如果你要打印的所有用戶會話數據,那麼你可以做到這一點

$this->load->library('session'); 

然後

echo $this->session->userdata('id'); 

另外: 首先初始化會話庫

echo $this->session->all_userdata(); 

希望這有助於:)

而且這個使用你的整個項目,你可以創建一個基本的控制器,有初始化會話庫,然後再擴展所有的控制器到基本控制器。

你可以做這樣的:

<?php 
class MY_Controller extends CI_Controller { 

    $this->load->library('session'); 

    } 
+0

謝謝大家幫忙 – Angel

+0

不客氣:) – Rajan

相關問題