Foros del Web » Programando para Internet » PHP »

Problema con Sesiones.. Ayuda

Estas en el tema de Problema con Sesiones.. Ayuda en el foro de PHP en Foros del Web. 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.. ...
  #1 (permalink)  
Antiguo 21/04/2008, 04:49
Avatar de sonic22  
Fecha de Ingreso: abril-2008
Ubicación: Rosario
Mensajes: 10
Antigüedad: 16 años
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??
  #2 (permalink)  
Antiguo 21/04/2008, 05:36
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: Problema con Sesiones.. Ayuda

HOLA SONIC22
no e si era lo correcto, pero ppor ejemplo:


Código PHP:

$_SESSION
['articulo'.$id
la variable $id esta clar de donde sale
pero de donde ale la variable 'articulo'

creo que etas concatenando dos variables, o eso creo, en $_SESSION

a lo mejor deberias poner:

Código PHP:
$_SESSION['articulo'.'id']; 
Un saludo y epero haberte ayudado
  #3 (permalink)  
Antiguo 21/04/2008, 13:17
Avatar de sonic22  
Fecha de Ingreso: abril-2008
Ubicación: Rosario
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Re: Problema con Sesiones.. Ayuda

Hola, mira
'articulo' es un valor predeterminado no variable, porque tambien intente asignar el nombre a la sesion de la siguiente manera:

Código PHP:
$id $_GET['id'];
$nombre 'articulo'.$id;
$_SESSION[$nombre]; 
y no consigo resultado alguno...
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 05:49.