Poniżej fragment kontrolera z użyciem form_validation gdzie nie mogę wskazać konkretnego set_message. Tzn po przekierwoaniu w view wyswietla mi pusta strone. Analogiczna metoda z set_flashdata, dziala bardzo dobrze. Ktos wskarze mi gdzie popelniam blad? Będę bardzo wdzieczny.
function index(){
$this->form_validation->set_error_delimiters('<div class="alert alert-danger">
<a class="close" data-dismiss="alert" href="#">×</a>', '</div>');
$this->form_validation->set_rules('login','Login','trim|required');
$this->form_validation->set_rules('password','Password','trim|required');
if($this->form_validation->run()==false){
$data['setPageName'] = $this->model_site->setPageName();
$this->load->view('login/view_top',$data);
$this->load->view('login/view_main');
$this->load->view('login/view_footer');
}
else{
$login = $this->input->post('login');
$password = $this->input->post('password');
$result = $this->model_login->login($login,$password);
if($result){
foreach($result as $row) {
$sess_array = array('id' => $row->id, 'login'=> $row->login,
'password'=>$row->password);
$this->session->set_userdata('logged_in',$sess_array);
}
return true;
}
$this->form_validation->set_message('login', 'Invalid username or password');
//$this->session->set_flashdata('message_loginBad', 'Podany login lub hasło są nieprawidłowe!');
return false;
}
}
}
Widok:
<?php if (validation_errors()): ?>
<?php echo validation_errors
(); ?> <?php endif; ?>
<?php if ($this->session->flashdata('message_loginBad')): ?>
<div class="alert alert-danger">
<a class="close" data-dismiss="alert" href="#">×</a>
<?php echo $this->session->flashdata('message_loginBad'); ?> </div>
<?php endif; ?>
Ten post edytował codeszan 8.07.2017, 14:44:10