Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter临时会话为用户提供编辑选项_Php_Codeigniter_Session - Fatal编程技术网

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

Php codeigniter临时会话为用户提供编辑选项,php,codeigniter,session,Php,Codeigniter,Session,我试图给用户一个选项,在他们发布内容5分钟后,为他们刚刚添加的内容添加一个标题。我这样做对吗 在config.php中,我将$config['sess\u expiration']设置为300(5分钟) 当他们添加内容时,我在控制器中设置会话: $values = array( 'image_id' => $uploaded_image_id, 'session_id' => $this->session->userdata('session_id') )

我试图给用户一个选项,在他们发布内容5分钟后,为他们刚刚添加的内容添加一个标题。我这样做对吗

config.php
中,我将
$config['sess\u 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


我这样做是否正确?

当您真正尝试读取会话数据时,您使用的是
set\u 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; ?>

谢谢你发现了这一点,修复了它。还有,我怎样才能一次编辑两件事?目前,如果我发布了一些内容,然后又发布了一些其他内容,那么第一个编辑权限将被覆盖,这意味着只有第二个帖子可以编辑。我想无限的会议是可能的,我如何做到这一点?