Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2007, 16:27
Avatar de arwen_1
arwen_1
 
Fecha de Ingreso: diciembre-2006
Mensajes: 81
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta Manejo de sesiones

Holas.. aqui estoy de vuelta con otro problema... espero me puedan ayudarme

resulta que estoy manejando sesiones, asi que lex explico mi situacion.

tengo una pagina A, donde el usuario se logea
una pagina B, donde esta un menu al que solo pueden entrar los usuarios logeados
y dentro de ese menu, segun la opcion elegida y un tipo (de usuario) restringo el acceso.

cual es el problema?

pues, que inicio sesion, entro al menu, eligo una opcion a la cual no tengo permiso, el sistema me rebota PERO creo que la sesion "se pierde", ya que deberia regresar al menu (pagina B) peor no lo hace... sino que me regresa a la pagina A para logearme otra vez...

abajo les muestro algo de codigo para que tengan una idea de lo que hago...

PAGINA B, menu:

Código PHP:
<?
    $here
=$_GET['here'];
    if (
$here==1
    {
            
session_start();
        
$_SESSION['user_cms'] = $tipo_perfil;
    } 
///fin del     if ($here==1) 

            
if (!(isset($_SESSION['user_cms'])))
    {
        
?>
            <script>
                alert("Debe iniciar sesion!");
                window.name="act";
                open(pag_inicio_sesion,'act');            
            </script>
        <?
    
}
    else
    {    
               
//donde dibujo el menu
         
}
here, lo utilizo a modo de bandera, que tomara el valor de uno si pase por la pagina del Logeo (evitar cuando entre por la url). y donde tbn buscare en la bd el usuario y su tipo (obvie ese fragmento de codigo)

Pregunto: cuando desde una pagina C, a la cual no tuve acceso me rebota a esta pagina (B) pues no entrará en el condicional del here.. pero la sesion aun deberia estar vigente no? por lo que deberia dibujar el menu, cosa que no hace. tan solo me muestra el mensaje de que debo inicar sesion y me manda a la pagina A.


PAGINA C, de donde soy rebotada:

Código PHP:
<?
    
if (!(isset($_SESSION['user_cms'])))
    {
        
?>
            <script>
                alert("Debe iniciar sesion!");
                window.name="act";
                open(inicio_sesion,'act');            
            </script>
        <?
    
}

    else
    {                
               
//consulto en la bd, para saber si por su tipo puede entrar a esta pagina
               //si puede entrar, bien. pero si no entonces mostrara el siguiente ensaje

              
if ($flag==0)
        {
        
?>
            <script>
                alert("Usted no tiene permisos suficientes para ingresar a este módulo");
                window.name="act";
                open(index_usuario,'act');            
            </script>
        <?        
        
}
Esperando su pronta respuesta y que entiendan el problema.

Gracias de antemano.

Última edición por arwen_1; 26/07/2007 a las 16:30 Razón: unos signos para que se enntienda mejor el codigo php