Php codeigniter临时会话为用户提供编辑选项
我试图给用户一个选项,在他们发布内容5分钟后,为他们刚刚添加的内容添加一个标题。我这样做对吗 在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') )
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; ?>
谢谢你发现了这一点,修复了它。还有,我怎样才能一次编辑两件事?目前,如果我发布了一些内容,然后又发布了一些其他内容,那么第一个编辑权限将被覆盖,这意味着只有第二个帖子可以编辑。我想无限的会议是可能的,我如何做到这一点?