manda de nuevo los post del formulario al ir atras en el navegador y actualizar

Iniciado por Ethgar, 10 Marzo 2015, 17:39 PM

0 Miembros y 1 Visitante están viendo este tema.

Ethgar

Resolví el problema, era algo muy sencillo, lo que hacia anteriormente era que mi formulario mandaba los datos, el controlador login los procesaba y los mandaba verificar a la tabla al modelo login y el mismo controlador login direccionaba a una pagina de bienvenida, lo que ice fue en el mismo archivo login puse el mensaje de bienvenida, en caso de encontrar una session activa, de no ser así mostraba de nuevo el formulario login, lo que supongo que pasaba anteriormente es que al dirigir a un archivo aparte de bienvenida quedaban los datos del formulario ahí, ahora solo quedan en el controlador, pero como solo redirige no manda los datos al archivo, espero darme a entender, de todas maneras les dejo el código corregido, espero les sea de ayuda por si alguno andaba batallando con lo mismo.

vista login:
Código (php) [Seleccionar]

if (!$this->session->userdata('NOMBRE')) {
  echo form_open('main/login',$form_login);
  echo form_label('usuario','usuario');
  echo form_input($campo1);
  echo form_label('password','password');
  echo form_input($campo2);
  echo '<br>'.form_input($enviar);
  echo form_close();
  //Si el Usuario o contraseña son incorrectos muestra un alert! (Bootstrap).
  <?php if ($this->session->flashdata('mensaje')): ?>
    <p class="alert alert-danger"><?php echo $this->session->flashdata('mensaje'); ?></p>
  <?php endif ?>
}else{
echo 'Bienvenido, Usuario '.$this->session->userdata('USUARIO').';
}


Controlador login:
Código (php) [Seleccionar]

public function login(){
 $usuario    = $this->input->post('usuario', TRUE);
 $password   = $this->input->post('password', TRUE);
 $this->usuarios_model->login($usuario,$password);
 redirect(base_url());  //Aquí es donde redirecciono al formulario o pagina principal la cual tiene el form
}


Modelo Login:
Código (php) [Seleccionar]

public function login($usuario,$password){//
 $this->db->where('USUARIO',$usuario);
 $this->db->from('usuarios');
 $consulta = $this->db->get();
 if ($consulta->num_rows > 0) {//Si obtenemos resultados de la consulta
       $this->db->where('USUARIO',$usuario)->where('PASSWORD',$password);
$this->db->from('usuarios');
$consulta1 = $this->db->get();
if ($consulta1->num_rows > 0) {//si obtenemos resultados de la consulta
$consulta = $consulta->row();
$data = array(
'NOMBRE' => $consulta->NOMBRE,
'APELLIDOS' => $consulta->APELLIDOS,
'USUARIO' => $consulta->USUARIO,
'TIPO_USUARIO' => $consulta->TIPO_USUARIO
);
$this->session->set_userdata($data);
}else{
$this->session->set_flashdata('mensaje',"Contraseña incorrecta");
}

}else{
$this->session->set_flashdata('mensaje',"usuario incorrecto");
}

}


Mod: tema modifica con etiqeutas GeSHi para que sea más legible... un post borrado,no hacer doble post