Foros del Web » Programando para Internet » PHP »

Problema con variables de sesión

Estas en el tema de Problema con variables de sesión en el foro de PHP en Foros del Web. Hola, Tengo un problema y no sé donde está el fallo. Llevo horas dandole vueltas. Tengo una pagina 1.php, donde tengo este código: Código PHP: ...
  #1 (permalink)  
Antiguo 28/12/2010, 12:14
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
Problema con variables de sesión

Hola,

Tengo un problema y no sé donde está el fallo. Llevo horas dandole vueltas.

Tengo una pagina 1.php, donde tengo este código:

Código PHP:
    echo '<form method="post" action="ver_resultados.php">';
    while(
$row mysql_fetch_array($result))  
    {  
    
$idregla[]=$row['iditem'];
    echo 
$row['descripcion_item'];
    echo 
'<select name="valoracion[]">
    <option>0</option>
    <option>1</option>
    </select>'
;
    
$valoracion=$_POST['valoracion'];
    
    } 
 
    
    
$_SESSION['reglas']=$idregla;
    
$_SESSION['valoracion']=$valoracion
El array con las valoraciones y el array con las reglas, los paso como variables de sesion para usarlos en otra pagina.

Entonces cuando doy a ver_resultados.php, hago esto:

$ids=array();
$ids=$_SESSION['reglas'];

Lo imprimo por pantalla y sale correcto.
Pero si pongo:

$vs=array();
$vs=$_SESSION['valoracion'];
print_r($vs);

No sale nada por pantalla.
He probado escribiendo print_r($_SESSION['valoracion']); en 1.php y llamando a la misma pagina (1.php) en vez de a ver_resultados.php, para ver si almacenaba bien la variable de sesion tras rellenar el array valoracion, y muestra correctamente:
Array ( [0] => 1 [1] => 1 [2] => 0 [3] => 0 )

Pero cuando pongo en el action del formulario "ver_resultados.php" y escribo en ver_resultados.php print_r($_SESSION['valoracion']);, no muestra nada. No consigo entender por qué no me muestra esa variable de sesión
  #2 (permalink)  
Antiguo 28/12/2010, 12:23
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Problema con variables de sesión

cuando creas el select pones como nombre esto name="valoracion[]" con lo cual le indicas que es un array, por lo tanto para poder asignarlo tienes que trabajarlo como tal
Código PHP:
Ver original
  1. $valor=$_POST['valoracion'];
  2. $valoracion=$valor[0];//y aumentando el indice para cada vuelta.
espero haberte dado una idea.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 28/12/2010, 12:41
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema con variables de sesión

Ok ahora lo pruebo
  #4 (permalink)  
Antiguo 28/12/2010, 12:48
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema con variables de sesión

He probado de esa forma, sustituyendo dentro del while
Código PHP:
$valoracion=$_POST['valoracion']; 
por:

Código PHP:
    ...
$valor=$_POST['valoracion'];
    
$valoracion=$valor[$i];
    
$i++;
}

print_r($valoracion); 
Y al llamar a la misma pagina (1.php) me muestra solamente un número


Antes con el código de mi primer post, me mostraba el array correctamente al llamar a la misma pagina donde tengo el código. Pero cuando llamaba a ese array desde otra, mediante la variable de sesión donde lo he almacenado, no mostraba nada.
  #5 (permalink)  
Antiguo 28/12/2010, 13:20
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Problema con variables de sesión

creo que ya voy entendiendo lo que necesitas, el problema es el lugar en donde pretendes formar la variable $_SESSION['valoracion'], lo debes de crear en ver_resultados.php
Código PHP:
Ver original
  1. echo '<form method="post" action="ver_resultados.php">';
  2. while($row = mysql_fetch_array($result)){  
  3.     $idregla[]=$row['iditem'];//se crea el array con los resultados
  4.     echo $row['descripcion_item'];
  5.     echo '<select name="valoracion[]">
  6.     <option>0</option>
  7.     <option>1</option>
  8.     </select>';
  9. }
  10. $_SESSION['reglas']=$idregla;//si existen resultados no estará vacio, se crea correctamente
  11. $_SESSION['valoracion']=$_POST['valoracion'];//si valoracion no viene de un form anterior y con metodo post siempre estará vacio
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 28/12/2010, 14:31
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Problema con variables de sesión

Hiciste un session_start(); al inicio de ver_resultados.php ???
  #7 (permalink)  
Antiguo 28/12/2010, 15:11
 
Fecha de Ingreso: diciembre-2010
Ubicación: caucasia
Mensajes: 17
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema con variables de sesión

Cita:
Iniciado por walterdevel Ver Mensaje
Hiciste un session_start(); al inicio de ver_resultados.php ???
si, pregunto lo mismo porque en ambos archivos .php deberias poner la instruccion session_start(), en uno para inicializar la session y en el otro para mantener la misma session durante el proceso.

Etiquetas: sesión, variables
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:01.