Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2008, 04:49
Avatar de sonic22
sonic22
 
Fecha de Ingreso: abril-2008
Ubicación: Rosario
Mensajes: 10
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Problema con Sesiones.. Ayuda

Buenas, que tal?, les comento mi problema, he revisado y leido documentacion acerca de sesiones y he probado de todo, sin conseguir algun resultado positivo..

Tengo un mini sistema de calificacion de articulos, almacenando en una variable de sesion el id del articulo para que no pueda ser calificado de nuevo al menos con la misma sesion.

$id = $_GET['id'];
$_SESSION['articulo'.$id];

o sea que el nombre de la sesion es variable..

Mi codigo viene:
Código PHP:
<?php
    session_cache_limiter
('public');
    
session_save_path("../Scripts/temp/");
    
session_start();
    
print_r($_SESSION); //Para ir viendo la evolucion de los datos

       
if($_POST['submit'] = 'calificar'){
          
$_SESSION['articulo'.$id] = true;
          
// Aca iria la conexion a mysql, que realiza la calificacion... todo de 20pts
       
}
?>
<!-- Cuerpo de mi web -->
<?php
       
if(!$_SESSION['articulo'.$id]){
       
?>
       <form name="calificar" method="post" action="">
       .......
       <input type="submit" value="calificar" />
       </form>
      <?php
          
}else{
              echo(
'<p>Este articulo ya fue votado</p>');
}

print_r($_SESSION); //Para ir viendo la evolucion de los datos
?>
Si el articulo no esta calificado se muestra el form, cuando se postea la data, a la variable de sesion se le asigna true, entonces cuando se vuelve a leer ya no se muestra el formulario, bueno esa seria la logica y tambien seria ideal que funcionara.

Ahora donde reside mi problema, no siempre que posteo datos se genera la variable de sesion, por consiguiente cuando refresco la pagina (apretando enter en donde esta la url) se sigue mostrando el formulario para calificar, y sino hasta una 2da vez, se produce ese comportamiento.

Analizandolo, llego a la conclusion que no siempre genera la variable de sesion, porque en algunos articulos funciona y en otros no... problemas de nombre no es, ya que es 'articulo1' por ej.

Alguna idea o sugerencia??