2016-04-20 102 views
2
public function admin_login() 
{ 
    $this->form_validation->set_rules('email','E-mail','required|trim'); 
    $this->form_validation->set_rules('password','Password','required'); 
    $this->form_validation->set_error_delimiters("<p class='text-danger'>"," </p>"); 
    if($this->form_validation->run()) 
    { 
      $email=$this->input->post('email'); 
      $password=$this->input->post('password'); 
      $link='http://api.amid.tech/admin/'.$email.'/'.$password; 
      $data = (array) json_decode(file_get_contents($link,true)); 
      if($email== $data['email'] && $password== $data['password']) 
      { 
      var_dump($data = (array) json_decode(file_get_contents($link,true))); 
      echo $userid=$this->session->set_userdata('name',$data); 
      exit; 
      $this->load->view('admin/dashboard'); 
      } 
      else 
      { 
      // echo"false"; 
      $this->load->view('index'); 
      //echo validation_errors(''); 
      } 
    } 
} 

我想通過API我想設置會話ID

+0

你會得到什麼類型的錯誤/不良行爲? – roadrunner66

+0

它顯示數組,但空數組沒有在會話中設置ID – falak

+0

爲什麼這個問題是在CSS,HTML標記? –

回答

1

笨2.X的會話管理是不是在PHP會議上實現設置會話ID在此代碼。所以如果你試圖打印$_SESSION,它會顯示一個空的數組。相反,你應該使用$this->session->userdata('key')。如果您使用CI 3.X,則$_SESSION應該工作得很好。

看一看這樣的: https://www.codeigniter.com/userguide3/installation/upgrade_300.html#step-6-update-your-session-library-usage

+0

我正在CI 2.x – falak

+0

上工作,這就是爲什麼你不能使用$ _SESSION,而是使用'$ this-> session-> userdata('key')'。 –

0

不清楚自己想要什麼,但如果你已經審閱CI的用戶指南的話,這可以幫助你設置會話,並將其保存在數據庫中。

首先加載Session庫:

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

現在,如果你有變量一定的價值,並希望將其存儲到會話,那麼你可以這樣做:

$this->session->set_userdata('string', $variable); 

如果有然後如用戶指南中所述的數據陣列:

$newdata = array(
        'username' => 'johndoe', 
        'email'  => '[email protected]', 
        'logged_in' => TRUE 
       ); 

$this->session->set_userdata($newdata); 

如果你想從會議的具體項目,那麼你可以這樣做:

echo $this->session->userdata('session-variable-name'); 

對於所有的會話數據做:

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

如果你想保存您的會話的數據庫,然後簡單地創建一個表稱爲ci_sessions

CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL, 
ip_address varchar(45) DEFAULT '0' NOT NULL, 
user_agent varchar(120) NOT NULL, 
last_activity int(10) unsigned DEFAULT 0 NOT NULL, 
user_data text NOT NULL, 
PRIMARY KEY (session_id), 
KEY `last_activity_idx` (`last_activity`) 

);

像這樣。

我建議你閱讀user guide它有很多。

+0

function __construct() { parent :: __ construct(); $ this-> load-> library(「session」); }正確答案是 – falak

+0

你應該在構造函數或基礎控制器中加載該庫,如果你有 – Rajan