2010-12-15 57 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)