Foros del Web » Programando para Internet » PHP » CodeIgniter »

redirigir index

Estas en el tema de redirigir index en el foro de CodeIgniter en Foros del Web. Hola comunidad, hace años que me alejé de la programación pero ahora estoy necesitando una ayuda por favor. Necesito que al entrar por ejemplo a ...
  #1 (permalink)  
Antiguo 13/09/2017, 14:07
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 8 años, 4 meses
Puntos: 2
redirigir index

Hola comunidad, hace años que me alejé de la programación pero ahora estoy necesitando una ayuda por favor.
Necesito que al entrar por ejemplo a la web (hecha con codeigniter) www . miweb . com me redirija automáticamente al login, o sea no quiero que ingrese a la página principal del sitio de ninguna manera, lo mismo cuando me desloguee me regrese al login.

Qué debo modificar?. Muchas gracias por su tiempo
  #2 (permalink)  
Antiguo 14/09/2017, 13:52
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.151
Antigüedad: 2 años, 5 meses
Puntos: 227
Respuesta: redirigir index

no se cual es la pagina principal de tu sitio porque no aporta muchos detalles, tampoco indicas si tienes activas las url, de todas formas, solo indica al sistema en el archivo router si mal no recuerdo, cual es el controlador de inicio por defecto, alli indicas que es el login, por otro lado, durante el deslogueo debes indicar que rediriga al controlador login, algo asi:

Código PHP:
Ver original
  1. hader('location:'.base_url().'/login';
esa manera te enviara directo alli al salir del sistema

claro todo lo anterior siempre que toooodo tu sitio este con codeigniter, en caso contrario seria un poco distinto el asunto,
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 12/11/2017, 12:19
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 59
Antigüedad: 4 años, 2 meses
Puntos: 6
Respuesta: redirigir index

Hola elsolodigno,
Por pasos:
- Primero tienes que crear dentro de la carpeta /application/core/ un archivo llamado MY_Controller.php
- En ese archivo tienes que crear al menos una clase que sea llame, por ejemplo, Logueado_Controller o como quieras llamarla pero que extienda de CI_Controller
- Dentro de esa clase necesitas un método __construct que tenga dentro un parent::__construct(); y después compruebe (a través del modelo que tengas) si hay un usuario logueado. Si no lo hay redireccionarlo al login.

Quedaría algo así:
/application/core/MY_Controller.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. if (!defined('BASEPATH')) {
  4.     exit('No direct script access allowed');
  5. }
  6.  
  7. class Logueado_Controller extends CI_Controller {
  8.     public function __construct() {
  9.         parent::__construct();
  10.         if(!$this->usuarios_model->userIsLoggedIn()){
  11.             redirect(site_url("login"));
  12.         }
  13.     }
  14. }
Por último lo que tienes que hacer es que cualquier controlador en el que quieras esta funcionalidad extienda de esta clase. Por ejemplo en lugar de:
Código PHP:
Ver original
  1. class Home_Controller extends CI_Controller
quedaría:
Código PHP:
Ver original
  1. class Home_Controller extends Logueado_Controller

Con eso ya lo tienes centralizado y puedes añadir más lógica dentro de estos controladores específicos.

Cualquier cosa me comentas,
Un abrazo
  #4 (permalink)  
Antiguo 13/11/2017, 20:41
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 931
Antigüedad: 14 años, 7 meses
Puntos: 8
Respuesta: redirigir index

Muchas gracias por tu aporte Chivacker, uso CodeIgniter hace poco más de 1 año y esto me va a servir muchísimo. De nuevo muchas gracias por tu aporte.
__________________
El aprendiz.



La zona horaria es GMT -6. Ahora son las 08:46.