首页 > 解决方案 > 发送 flashdata 站点锁定了几秒钟

问题描述

我有一个正在处理的 codeigniter 项目。当添加了某些 flashdata 时,该站点会无缘无故地锁定。我将一些数据写入我的数据库或将其删除。然后根据成功失败我设置了一些 flashdata 并重定向到适当的页面。加载了一个galleru,并使用了相关的flashdata。但是 75% 的时间它会锁定几秒钟(本地测试在 10-15 之间)。

我发现问题出在 flashdata 上,我一添加它就会发生。即使我从视图中删除了 flashdata 代码,站点也会锁定。Wich 本身对我来说很奇怪。即使它不被使用,它有时也会被锁定。

查看零件

<?php if($this->session->flashdata('msg')) : ?>
<div class="alert alert-success" role="alert">
    <?php echo $this->session->flashdata('msg'); ?>
</div>
<?php endif; ?>
<?php if($this->session->flashdata('error')) : ?>
<div class="alert alert-danger" role="alert">
    <?php echo $this->session->flashdata('error'); ?>
</div>
<?php endif; ?>

控制器代码块

public function deleteVisitorLink($gallery_id)
{
    if(!$this->gallery_model->removeVisitorLink($gallery_id))
    {
        $this->logging->Log($this->session->userdata('id'), '550', 'Could not delete the visitor link for gallery ' . $gallery_id);
        $this->session->set_flashdata('error','Kon de link niet verwijderen.');
        $this->myRedirect();
    }
    else
    {
        $this->logging->Log($this->session->userdata('id'), '560', 'Visitor link deleted for gallery ' . $gallery_id);
        $this->session->set_flashdata('msg','De bezoekers link is verwijderd.');
    }

    redirect(base_url() . '/client/' . $gallery_id);
}

myRedirect() 只是一个检查和标准重定向到客户端

我试图弄清楚它为什么会发生以及我可以做些什么来解决这个问题。任何提示或指针都是有帮助的,因为我对编码很陌生。

标签: phpcodeigniter-3codeigniter-flashdata

解决方案


经过@04FS 的一些深刻见解

我认为闪存数据的取消签名问题很容易解决。

所以现在改为使用临时数据。我删除了视图末尾的临时数据。


推荐阅读