Hola,
Veamos...
en tu sitio manejas estas paginas:
- index.php -> Es el index de tu web
- cuenta.php -> Muestra el estado de tu cuenta
- login.php -> Es el formulario de ingreso / login
- procesalogin.php -> Procesa los datos que recibe de login.php (Puede ser la misma pagina login.php)
En las paginas de tu sitio a las que quieres que el usuario regrese despues de un login (hablamos de index.php y cuenta.php) pondras esto: [
Código PHP:
//<?php
////Iniciamos la sesion
//session_start();
//Guardamos la url actual para que el usuario regrese a esta en caso de que necesite ir a la pagina de login
$_SESSION['url_back'] = $_SERVER['REQUEST_URI'];
//RESTO DEL SITIO
//?>
Luego, en las paginas que necesiten que el usuario esté loggeado para poder ser visualizadas, ademas del codigo anterior, deberas poner un codigo que verifique esto, algo como:
Código PHP:
//<?php
//session_start();
// el codigo anterior
$_SESSION['url_back'] = $_SERVER['REQUEST_URI'];
////verificas si esta loggeado
if($_SESSION['usuario_loggeado'] == false) {
header('Location: login.php');
exit;
}
//RESTO DEL SITIO
//?>
Finalmente, en procesalogin.php, o en la pagina que procese los datos del formulario de ingreso, al final colocas:
Código PHP:
//<?php
//session_start();
//aqui el procesamiento de los datos
//si todo es correcto
$url_back = $_SESSION['url_back'];
if(empty($url_back)) {
$url_back = 'index.php';
}
header('Location: '.$url_back);
//?>
Así te debería funcionar... así lo uso yo y me va siempre bien
IMPORTANTE: El primer codigo solo debes ponerlo en las paginas que 'forman parte de tu sitio, osea que el usuario ve' y NO en otras como login.php global.php funciones.php procesalogin.php o cosas por el estilo.
Cualquier duda, sigue el tema
Salu2