2015-03-16 5 views
0

Если я перезагружаю или обновляю страницу, я хотел бы иметь возможность уничтожить мое сообщение. Мне просто хотелось бы, чтобы сообщение показывало, только что пришло с моего URL-адреса сайта.clear message if reload page

Затем скажите, если я нажму клавишу F5 или кнопку мыши, чтобы обновить страницу, тогда сообщение исчезнет.

Как я могу это сделать. Я использую агент пользователя для отображения первого сообщения. Показывает сообщение при перезагрузке/обновлении страницы.

if ($this->agent->is_referral() == site_url('admin/users_group/edit' .'/'. $this->uri->segment(4))) { 
$data['success'] = '<i class="fa fa-check-circle"></i> You have successfully modifed users group'; 
} elseif ($_SERVER['PHP_SELF']) { 
$data['success'] = ''; 
} else { 
$data['success'] = ''; 
} 
+0

вы можете использовать незаданы, чтобы сбросить сообщение varible как снято с (переменными $), когда страница загружается –

+0

Не работает ли у вас пример? – user4419336

+0

Почему вы не используете Flashdata ?? –

ответ

2

Вы можете использовать flashdata для выполнения такого рода работ.

Чтобы установить флэш-сообщение на контроллере Используйте следующие

$this->session->set_flashdata('msg','Your Message'); 

и может получить это сообщение, используя

$this->session->flashdata('msg'); 
+0

Я знаю, как использовать данные флэш-памяти, пытаясь не больше пользовательских данных сеанса или пользовательских данных, поскольку проблема сообщений исправлена ​​в моем ответе в функции индекса и редактирования. – user4419336

0

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

public function edit() { 

$this->load->library('form_validation'); 

$this->form_validation->set_rules('name', 'User Group Name', 'required'); 
$this->form_validation->set_rules('user_group_id', 'User Group Id', 'required'); 
$this->form_validation->set_rules('permission[modify]', '', 'callback_validate'); 

if ($this->form_validation->run($this) == FALSE) { 

$this->getForm(); 

} else { 

$this->load->model('admin/user/model_user_group'); 

$this->model_user_group->editUserGroup($this->uri->segment(4), $this->input->post()); 

$data = array(
'success' => 'Congratulations you have successfully added' .' '. "<strong>" . ucwords(str_replace('_', ' ', $this->router->fetch_class())) .' '. $this->input->post('name') . "</strong>" 
); 

$this->session->set_userdata($data); 

redirect('admin/users_group'); 

} 

} 

public function index() { 

    $this->load->library('paginations'); 
    $this->load->model('admin/user/model_user_group'); 

    $data['title'] = "Users Group"; 

    $success = $this->session->userdata('success'); 

    if (isset($success)) { 
     $data['success'] = $this->session->userdata('success'); 
     $this->session->unset_userdata('success'); 
    } else { 
     $data['success'] = ''; 
    } 

    $this->load->view('template/user/users_group_list.tpl', $data); 
} 

На Виде

<?php if ($success) { ?> 
    <div class="alert alert-success"><i class="fa fa-check-circle"></i> <?php echo $success; ?> 
     <button type="button" class="close" data-dismiss="alert">&times;</button> 
    </div> 
<?php } ?> 
+0

, но в этом случае вам нужно отменить сеанс. Если вы используете flashdata, вам не нужно ничего делать. – Vinie