Foros del Web » Programando para Internet » PHP »

Problemas con las sesiones

Estas en el tema de Problemas con las sesiones en el foro de PHP en Foros del Web. Hola a todos. Tengo un valor de una variable de sesión que no pasa a ninguna pagina del sitio. Pero, cuando configuro el php.ini de ...
  #1 (permalink)  
Antiguo 02/08/2013, 19:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Hola a todos. Tengo un valor de una variable de sesión que no pasa a ninguna pagina del sitio. Pero, cuando configuro el php.ini de mi servidor local y cambio register_globals=Off a register_globals=On y reinicio mi wamp, si me pasa la variable a cualquier pagina que quiera.
El tema es preocupante, porque mi servidor remoto tiene configurado register_globals=Off y, cuando lo probé, no me pasa el valor de la variable de sesión a ninguna página

Muestro el código de la pagina 1 y de la pagina 2 (ambas son .php):

Contenido de la pagina1.php

Cita:

<?php
session_start();
require_once('Connections/Conexion.php');
...
...
...
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......
.....
......
<?php
<!--Aqui son mas de 200 cálculos matemáticos para darle un valor a la variable calorias totales-->
echo $calorias_totales // El valor se imprime perfectamente
$_SESSION["calorias_totales"]=$calorias_totales;

<form action="pagina2.php" method="POST" name=............/>
.....
....
....
<form submit="submit" VALUE="Enviar" name=.........../>

<!-- lo que hago es enviar ciertos datos del formulario y el valor de la variable de sesión $calorias_totales debería tratarlo en la pagina pagina2.php aunque no esté en el formulario-->
Contenido de la pagina2.php
Cita:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<?php
echo "Calorías totales: ".$calorias_totales;
?>
/* No imprime NADA, pero si register_globals=On, si imprime sin problemas el valor de $calorias_totales adquirido en la pagina1.php */
Hola de nuevo, investigué en wamp/tmp donde están los archivos de sesión. Los revisé (a los de hoy) y en todos los archivos de hoy figuraba esto

Cita:
calorias_totales|N;
Excepto en uno, que figuraba esto

Cita:
calorias_totales|d:1886;
Este último fue cuando cambie en el php.ini: De register_globals=Off a register_globals=On
Ayuda por favor!! Gracias!!

Última edición por Triby; 02/08/2013 a las 20:14
  #2 (permalink)  
Antiguo 02/08/2013, 20:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con las sesiones

No actives register_globals, porque es causante de más dolores de cabeza que lo que te puedas ahorrar en código para tener todas tus variables globales.

Lo único que tienes que hacer es usar la variable $_SESSION con el índice adecuado, ejemplo:

Código PHP:
Ver original
  1. // En lugar de session_register() usa:
  2. $_SESSION['calorias_totales'] = 'valor que corresponda';
  3.  
  4. // Para mostrarlo, en lugar de echo $calorias_totales:
  5. echo $_SESSION['calorias_totales'];
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 02/08/2013, 20:34
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: Problemas con las sesiones

Excelente genio, funciona. Pero eso significa que cada vez que tengo que usar la variable $calorias_totales para hacer calculos, no la puedo usar directamente, es decir que:
1) tengo que usar directamente $_SESSION['calorias_totales'] para los calculos? o
2) Tengo que hacer $calorias_totales=.$_SESSION['calorias_totales'] en cada pagina que quiera utilizar la variable?
Muchas gracias.
  #4 (permalink)  
Antiguo 02/08/2013, 21:18
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con las sesiones

Puedes usar una variable temporal al realizar cálculos, pero, al final debes asignar el resultado a la variable de sesión.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: formulario, html, sesiones, variable
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 14:30.