Foros del Web » Programando para Internet » PHP »

Variables de sesión que pierden su valor...

Estas en el tema de Variables de sesión que pierden su valor... en el foro de PHP en Foros del Web. Hola, me está sucediendo algo increible, variables de sesión que pierden el valor. Hago una consulta a una tabla y esos valores los meto en ...
  #1 (permalink)  
Antiguo 08/08/2003, 15:17
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 20 años, 9 meses
Puntos: 0
Pregunta Variables de sesión que pierden su valor...

Hola, me está sucediendo algo increible, variables de sesión que pierden el valor.

Hago una consulta a una tabla y esos valores los meto en un array que es una variable de sesión si se cumple una condición.Este array lo necesito para llenar un select de un formulario y he elegido que sea una variable de sesión porque quiero q esos valores se mantengan cuando el usuario vuelva a él.

Bien, de primera el array se llena perfectamente:

if (CONDICION)
{

$_SESSION['ArrayArt'];

$i=0;
do {

$ArrayArt[$i] = $row_Recordset2['CODARTICULO'];
$i++;
} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
$rows = mysql_num_rows($Recordset2);
if($rows > 0) {
mysql_data_seek($Recordset2, 0);
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
}}


Y luego para llenar el select:



<td bgcolor="#0099FF"> <select name="select" size="1">
<?php
$i=0;
foreach($ArrayArt as $k=> $v)
{
?>
<option value="<?php echo $v?>"><?php echo $v?></option>
<?php $i++;
}
?>
</select></td>


La primera vez el select se llena sin problemas pero, ahora viene el problema, me voy un formulario delante, vuelvo a éste y el setect esta VACIO ¿Como puede ser eso?, lo raro es que los demas campos que utilizo para rellenar con variables de sesión estan bien, sin problema.

Lo unico que me falla es el select, ¿Alguien sabe porque una variable de sesion de tipo array pierde los valores?


Espero que alguien me pueda ayudar.
  #2 (permalink)  
Antiguo 10/08/2003, 21:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El array superglobal $_SESSION . no se trabaja igual que cuando usabas (supongo) session_register() .. donde el session_register() lo hacias donde querias y por otra parte de tu código dabas valor a esa variable que luego "registrabas" con session_register() ..

Si usas $_SESSION .. has de trabajarlo como si de un array cualquiera se tratase .. osease .. En tu caso ... podrías usar algo tipo:

Código PHP:
$_SESSION['ArrayArt']=$ArrayArt
al final y fuera de tu bucle do .. while que usas para "llenar" ese array ... (y por supuesto quitar el $_SESSION que tienes antes del bucle en cuestión).

Otro detalle .. Supongo que usaras session_start() antes de cualquier intento de llamadas a $_SESSION .. si no es así usalo pues sino la sesión no se inicializa. Ademas tienes que tener en cuenta si (y como ) estás propagando el SID (Identificador Único de sesión ..)

más info:
www.php.net/session

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 12:36.