Php CodeIgniter:无需重定向即可获取闪存数据

Php CodeIgniter:无需重定向即可获取闪存数据,php,codeigniter,session,flash-message,Php,Codeigniter,Session,Flash Message,我已经使用CodeIgniter很长一段时间了,我知道“会话/闪存数据只有在重定向/页面重新加载后才能工作”。我在本地主机上发现的一件有趣的事情是,我可以在不重新加载/重定向页面的情况下获取flash数据。有人能向我解释一下这是如何运作的吗?我希望我不能得到任何消息。 在控制器中: $this->session->set_flashdata("success", "worked"); $this->load->view('layouts/main'); 主要观点是: &

我已经使用CodeIgniter很长一段时间了,我知道“会话/闪存数据只有在重定向/页面重新加载后才能工作”。我在本地主机上发现的一件有趣的事情是,我可以在不重新加载/重定向页面的情况下获取flash数据。有人能向我解释一下这是如何运作的吗?我希望我不能得到任何消息。 在控制器中:

$this->session->set_flashdata("success", "worked");
$this->load->view('layouts/main');
主要观点是:

<p class = 'bg-success'>
<?php if($this ->session->flashdata('success')): ?>

<?php echo $this ->session->flashdata('success');?>


<?php endif; ?>

</p>


执行此操作后,我可以查看工作的闪存数据。它是如何工作的?CI闪存数据是否只会在下一个用户请求时出现?(即重定向/页面重新加载?)。我刚在设置flash数据后加载了一个视图,理论上,它不应该工作,也不应该出现任何消息,因为这只是第一个请求。

CodeIgniter支持
flashdata
,或者只可用于
下一个请求的会话数据,然后会自动
清除
。这非常有用,特别是对于一次性信息、错误或状态消息


有关更多信息,请参见CodeIgniter支持
flashdata
,或仅可用于
下一个请求的会话数据,然后自动清除
这些数据。这非常有用,尤其是对于一次性信息、错误或状态消息

有关更多信息,请参见

如果要在不显示重定向页面的情况下显示会话数据,则应在codeigniter中使用 控制器代码

$this->session->set_userdata('msg', "Done successfully..");
将现有项目标记为“flashdata”:

$this->session->mark_as_flash('msg');
视图中显示消息的条件

if(isset($this->session->userdata('msg')) echo $this->session->userdata('msg') ;
或者您可以使用Tempdata

CodeIgniter还支持“tempdata”或具有特定过期时间的会话数据。值过期、会话过期或删除后,该值将自动删除

与flashdata类似,tempdata变量是常规会话变量,在“\u ci\u vars”键下以特定方式进行标记(同样,不要触摸该键)

要将现有项标记为“tempdata”,只需将其密钥和到期时间(以秒为单位!)传递给mark_as_temp()方法:

如果您想显示会话数据而不显示重定向页面,那么应该在codeigniter中使用 控制器代码

$this->session->set_userdata('msg', "Done successfully..");
将现有项目标记为“flashdata”:

$this->session->mark_as_flash('msg');
视图中显示消息的条件

if(isset($this->session->userdata('msg')) echo $this->session->userdata('msg') ;
或者您可以使用Tempdata

CodeIgniter还支持“tempdata”或具有特定过期时间的会话数据。值过期、会话过期或删除后,该值将自动删除

与flashdata类似,tempdata变量是常规会话变量,在“\u ci\u vars”键下以特定方式进行标记(同样,不要触摸该键)

要将现有项标记为“tempdata”,只需将其密钥和到期时间(以秒为单位!)传递给mark_as_temp()方法:


Flashdata仅在重定向.Tx的情况下有用,但我的问题是,我能够在没有重定向困难的情况下获取flash数据,尽管它有用,但在CI中是允许的?Flashdata仅在重定向.Tx的情况下有用,但我的问题是,我能够在没有重定向困难的情况下获取flash数据,尽管它有用,这在CI中是允许的吗?