почему страница становится пустой после отправки формы и устанавливает set_flashdata перед перенаправлением в codeigniter - PullRequest
0 голосов
/ 08 мая 2018

Я делаю форму в CI и отправляю форму. После отправки страница перенаправляется на другую страницу, но перед перенаправлением я использую set_flashdata, но без использования set_flashdata моя форма успешно отправляется, и страница перенаправляет на другую страницу. Но при использовании set_flashdata он не перенаправляет и загружает пустую страницу, а затем сайт перестает работать, а все другие страницы моего сайта загружают пустую страницу.

{

    $this->load->helper('file');
    $data = $this->input->post('data');

    if ( ! write_file('./application/modules/widgets/'.$alias.'.php', $data))
    {
         //$this->session->set_flashdata('msg', '<div class="alert alert-error">'.lang_key('unable_to_write_widget').'</div>');
    }
    else
    {
         //$this->session->set_flashdata('msg', '<div class="alert alert-success">'.lang_key('widget_data_updated').'</div>');
    }           
}

redirect(site_url('admin/widgets/edit/'.$alias));

1 Ответ

0 голосов
/ 09 мая 2018

Пустая страница может означать, что ошибки PHP подавляются. Установите CI_ENV на development, и вы увидите любые ошибки PHP. (ENV или .htaccess обычно, но вы можете (не рекомендуется) также установить его в файле index.php)

Убедитесь, что файл application/config.php правильно настроен для сеансов. Если вы используете файлы, убедитесь, что sess_save_path есть и доступен для записи по сеансам. Последние 3-4 версии релизов будут полностью выброшены и умрут, если не настроены должным образом.

Полагаю, вы уже смотрели на это, но в любом случае это хорошая ссылка, чтобы бросить здесь. Я упоминаю об этом, потому что вы говорите, когда звоните $this->session все терпит неудачу.

https://www.codeigniter.com/user_guide/libraries/sessions.html

Немного не по теме, redirect() может добавить site_url(), поэтому вам не нужно этого делать. Просто добавьте свой URI.

 redirect('admin/widgets/edit/' . $alias);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...