Foros del Web » Programando para Internet » PHP »

Se me van las sesiones con paginator

Estas en el tema de Se me van las sesiones con paginator en el foro de PHP en Foros del Web. Buenas, en primer presentarme, soy nuevo por aqui pero supongo me vereis bastante ahora jeje. Bueno, uan vez hecha la presentación..queria comentar un problema que ...
  #1 (permalink)  
Antiguo 13/05/2010, 12:18
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 9 años, 8 meses
Puntos: 0
Se me van las sesiones con paginator

Buenas, en primer presentarme, soy nuevo por aqui pero supongo me vereis bastante ahora jeje.

Bueno, uan vez hecha la presentación..queria comentar un problema que me trae de cabeza de hace dias, el cual es el siguiente, estoy haciendo de proyecto para terminar DAI, es una web de descarga de contenido musical (simplemente es un proyecto, no quiero saber na de la SGAE xd) y nada pasa que en mi index, yo tengo este codigo para saber si un usuario se a logueado correctamente, y asi ocultar el div de login y que me habilite unas opciones para marcar las canciones que queremos comprar en una tabla con paginator (son mas de 30 registros..)

Bien, pego aqui esa comprobación que digo:

Código PHP:
 <?php
      
if($_SESSION['registrado']=="SI"){
      
$tipo=$row['TIPO'];
         
      echo 
"<script language='javascript'>document.getElementById('login').style.display = 'none';</script>";
      echo 
$_SESSION['mensaje']; 
     echo 
$tipo;
      
?>
          &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<a href="<?php session_destroy(); $_SESSION['registrado']=="NO" ?>">Salir </a><br>
          <br>      
          <?
          
if($tipo==2){
          
          echo 
"<a href='indexsello.php'>Gestión sellos</a>";
          }
      }
      
?>
Explico como funciona, yo meto mi usuario y password, este llama a un script que valida los datos y si son validos pone la variable de session registrado a valor "SI", me retorna al index y el con el codigo que puse anteriormente me lo hace bien lo de ocultar el login..etc Y aqui va la pregunta.. por que al paginar los resultados, una vez logueados y demas, pro que al pasar a la pagina 2 o la que sea..vuelve a aparecer el div del login, no me da el mensaje de bienvenido ni na! es como si se cargara las variables de sesion.
He probado a usar la funcion trans_id para no usar el session_start(), tengo el session start en el resto de paginas..etc, nose, alguna solucion?saludos.

pd=buen tocho pa ser la primera vez que escribo no?
  #2 (permalink)  
Antiguo 13/05/2010, 12:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 7 meses
Puntos: 2135
Respuesta: Se me van las sesiones con paginator

Puede que tu browser no acepte las cookies de la sesión por lo que vas a tener que propagar el session id manualmente usando la constante SID:
Código PHP:
Ver original
  1. <a href="pagina2.php?<?php echo SID; ?>">Pagina 2</a>

Saludos.
  #3 (permalink)  
Antiguo 13/05/2010, 12:38
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 9 años, 8 meses
Puntos: 0
Cita:
Iniciado por GatorV Ver Mensaje
Puede que tu browser no acepte las cookies de la sesión por lo que vas a tener que propagar el session id manualmente usando la constante SID:
Código PHP:
Ver original
  1. <a href="pagina2.php?<?php echo SID; ?>">Pagina 2</a>

Saludos.
Esa solucion la he intentado 10 millones de veces...jeje.
A ver, yo estoy en otra pagina de la web y refresco y demas y esta bien, me mantiene la sesion y demas, y mi browser admite todo, el unico fallo es este, la paginacion, y otro que acabo de ver.
Añado un producto al carro y ya se pierden variables, pero es que cuando elimino del carro... vuelve a mostrarme otra vez el div de login, osea que se fué todo!que es lo que esta pasando? quizas tengo que validar que un usuario está logueado de otra manera o que hago?

Esa solucion la he intentado 10 millones de veces...jeje.
A ver, yo estoy en otra pagina de la web y refresco y demas y esta bien, me mantiene la sesion y demas, y mi browser admite todo, el unico fallo es este, la paginacion, y otro que acabo de ver.
Añado un producto al carro y ya se pierden variables, pero es que cuando elimino del carro... vuelve a mostrarme otra vez el div de login, osea que se fué todo!que es lo que esta pasando? quizas tengo que validar que un usuario está logueado de otra manera o que hago?
El paginator usa esta direccion para paginar:

http://localhost/mp3Music3/index.php?_pagi_pg=2

Puede que tenga que tokar el php del paginator para que propague el SID?es que me lo estuve viendo pero no tengo ni idea donde meterle el .SID al paginator, pero vamos, ya te digo lo del carro tambien hace que pierda las variables de sesion (o al menos el login...)

AAh! y no estoy usando cookies, solo variables de sesion.

Última edición por GatorV; 13/05/2010 a las 14:22
  #4 (permalink)  
Antiguo 13/05/2010, 14:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 7 meses
Puntos: 2135
Respuesta: Se me van las sesiones con paginator

Aunque uses variables de sesión, el identificador de la sesión se transmite por una cookie o por el URL, la unica causa de que se "pierdan" las variables es esa, que la cookie ya no se transmite o que el URL no transmite el Session ID.

Si no es ninguna de esas causas, entonces tu problema esta en la logica de tu programa que esta fallando con algo.

Saludos.
  #5 (permalink)  
Antiguo 14/05/2010, 09:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Se me van las sesiones con paginator

Cita:
Iniciado por GatorV Ver Mensaje
Aunque uses variables de sesión, el identificador de la sesión se transmite por una cookie o por el URL, la unica causa de que se "pierdan" las variables es esa, que la cookie ya no se transmite o que el URL no transmite el Session ID.

Si no es ninguna de esas causas, entonces tu problema esta en la logica de tu programa que esta fallando con algo.

Saludos.
Tienes razon, e probado en estos scripts de cmoprobacion que en vez de retornarme al index que me muestre el SID mediante un echo...y no muestra nada, pero porq?si estoy en el index, envio usuario y contraseña al script de comprobacion de usuario, que es este:
Código PHP:
<?php
session_start
();
session_cache_limiter('nocache,private');
$base="mp3music";
mysql_connect ("localhost","root","root");
mysql_select_db($base);
//vacia las variables de sesion
//session_unset();

$nombre=$_POST['usuario'];
//$nombre=$_SESSION['useronline'];
$password=$_POST['password'];
$password=md5($password);
$resultado=mysql_query("SELECT * FROM cliente WHERE (USUARIO='$nombre') AND (PASSWORD='$password')");
$colum=mysql_fetch_assoc($resultado);
$tipo=$colum['TIPO'];
$comprueba=mysql_num_rows($resultado);
if (
$comprueba==1){  //usuario y contraseña válidos 
             
$_SESSION['registrado']="SI"
            
$_SESSION['mensaje']="Bienvenido, $usuario";
            
        }
 
else {
    
//si no existe daría el mensaje que el usuario no está registrado
              
$_SESSION['registrado']="NO";   
            
$_SESSION['mensaje2']="Usuario o Password incorrectos";
        
?>
            <script language="javascript">
                document.location.href="index.php";
            </script> 
      <? }    
    
?> <?php

if($tipo==1){ ?>
    <script language="javascript">
    document.location.href="index.php";
    </script> <?
    
//header("Location:index2.php".SID);     
    
}
if(
$tipo==2) { ?>
    <script language="javascript">
    document.location.href="indexsello.php";
    </script> <?
    
//header("Location:indexsello.php".SID);    
    
$_SESSION['sello']=$colum['USUARIO'];
    }

?>
Que puede estar fallando para que no me muestre el SID? si cuando hace la comprobacion de que somos un usuario "raso" me retorna al index poniendo bien la variable de sesion mensaje, que muestra el biendvenido... o contraseña erronea, nose le estoy dando muchas vueltas aver
  #6 (permalink)  
Antiguo 14/05/2010, 09:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 7 meses
Puntos: 2135
Respuesta: Se me van las sesiones con paginator

Puede ser que al usar el document.location.href sin pasar el SID por eso pierdes las variables de sesión.

Etiquetas: paginator, sesiones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:44.