отправка сайта flashdata блокируется на пару секунд - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть проект codeigniter, над которым я работаю. При добавлении нескольких флэш-данных сайт блокируется без видимой причины. Я записываю некоторые данные в свою базу данных или удаляю их. Затем, в случае неудачи, я установил некоторые флэш-данные и перенаправил на соответствующую страницу. Там загружается galleru и используются соответствующие flashdata. Но в 75% случаев он блокируется на пару секунд (между 10-15 при локальном тестировании).

Я понял, что проблема заключается во флэш-данных, и это происходит, как только я их добавляю. Даже когда я удаляю код flashdata из поля зрения, сайт блокируется. Что само по себе странно для меня. Даже когда он не привыкает, он иногда зависает.

смотреть часть

<?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 () - это просто проверка и стандартное перенаправление на клиент

Я пытаюсь выяснить, почему это происходит и что я мог бы сделать, чтобы это исправить. Любой совет или указатель полезны, так как я довольно новичок в кодировании.

1 Ответ

0 голосов
/ 26 апреля 2019

После некоторых замечательных идей от @ 04FS

Я понял, что проблема с подписью flashdata.

Так что вместо этого я теперь использую tempdata. И я удаляю tempdata в конце представления.

...