codeigniter临时会话,提供用户编辑选项

时间:2012-01-22 18:42:51

标签: php codeigniter session

我试图让用户选择在他们发布后的5分钟内为他们刚刚添加的内容添加标题。我这样做了吗?

config.php我已将$config['sess_expiration']设为300(5分钟) 当他们添加内容时,我在控制器中设置了会话:

$values = array(
    'image_id' => $uploaded_image_id,
    'session_id' => $this->session->userdata('session_id')
);

$this->session->set_userdata('edit', $values);

在我看来,我目前正在检查这样的会话:

<?php if ($this->session->userdata('edit')) : ?> 
<?php
$session_info = $this->session->userdata('edit');
if ($session_info['image_id'] == $alpha_id 
    &&
    $this->session->userdata('ip_address') == $_SERVER['REMOTE_ADDR'] 
    &&
    $session_info['session_id'] == $this->session->set_userdata('session_id')) :
?> 

if()内,然后显示编辑标题表单

仅供参考,$alpha_id是来自URI的内容id

我的这个怎么回事?

1 个答案:

答案 0 :(得分:1)

当您真正尝试阅读会话数据时,您正在使用set_userdata

您也可以在if子句中分配:

<?php if ( $session_info = $this->session->userdata('edit') ): 

    if ($session_info['image_id'] == $alpha_id 
        &&
        $this->session->userdata('ip_address') == $_SERVER['REMOTE_ADDR'] 
        &&
        $session_info['session_id'] == $this->session->userdata('session_id')
    ):
        // Do stuff
    endif;
endif; ?>