2010-12-15 60 views
0
我有一個問題,把它改爲CI

,我不熟悉CI的會議,請幫助我皈依笨

if (!isset($_SESSION["gids"])) { 
    $_SESSION["gids"] = array(); 
} 

//check for current product in visitor's shopping cart content 
$i=0; 
while ($i<count($_SESSION["gids"]) && $_SESSION["gids"][$i] != $_GET["add2cart"]) $i++; 

if ($i < count($_SESSION["gids"])) //increase current product's item quantity 
{ 

} 
else //no such product in the cart - add it 
{ 
    $_SESSION["gids"][] = $_GET["add2cart"]; 
} 

回答

3

有關設置會話變量,使用:

$this->session->set_userdata('gids') 

對於從會話變量中獲取數據:

$this->session->userdata('gids'); // returns falls if gids does not exists 

對於從GET變量獲取數據:

$this->input->get('add2cart'); 

參考:
CodeIgniter Input Class
CodeIgniter Session Class

0

首先你必須知道,在默認情況下笨存儲它的會話變量中的cookie。如果要將會話存儲在可能容納大型數據的地方,請更改設置,以便使用數據庫表來存儲會話數據。打開系統/應用/ config.php文件並更改$配置[「sess_use_database」]行會話變量部分爲:

$config['sess_use_database'] = TRUE; 

,並創建會話數據庫表:

CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL, 
ip_address varchar(16) DEFAULT '0' NOT NULL, 
user_agent varchar(50) NOT NULL, 
last_activity int(10) unsigned DEFAULT 0 NOT NULL, 
PRIMARY KEY (session_id) 
); 

要使用會話,則必須首先加載會話庫:(例如,在系統/應用/控制器/ cmilestone.php)

function CMilestone(){ 
     parent::Controller(); 
     $this->load->library('Session'); 
} 

然後,你可以從內部的方法的一個設置會話:

​​

但我認爲你應該真的使用POST來做操作。如果你想使用POST和CI的xss過濾器,那麼$ _GET [「add2cart」]將被替換爲$ this-> input-> post('add2cart',true)