Foros del Web » Programando para Internet » PHP »

Problemas con variable e sesion

Estas en el tema de Problemas con variable e sesion en el foro de PHP en Foros del Web. Hola gente tengo un sitio en el cual en determinados lugares tiene el acceso limitado, para lo cual utilizo un login, además tengo algo parecido ...
  #1 (permalink)  
Antiguo 21/07/2005, 07:27
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
Problemas con variable e sesion

Hola gente tengo un sitio en el cual en determinados lugares tiene el acceso limitado, para lo cual utilizo un login, además tengo algo parecido a lo que seria un carrito de compras en donde el usuario va seleccionando cosas y mediante variables de sesión voy pasando datos de una pagina a otra el tema es que en una pagina la variable de sesión me devuelve un dato y en otra la misma variable esta vacía.

¿Porque puede estar pasando esto?
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #2 (permalink)  
Antiguo 21/07/2005, 07:44
okram
Invitado
 
Mensajes: n/a
Puntos:
Me parece que no colocas session_start() al inicia de tus paginas, o que no llamas correctamente a las variables de sesion. postea tus codigos para poder ayudarte mejor

salu2
  #3 (permalink)  
Antiguo 21/07/2005, 07:50
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
Voy a intentar ser un poco mas descriptivo

En pagina_1 envio por post la variable color1 a pagina_2

En pagina_2hago esto

$_SESSION['color1'] = $HTTP_POST_VARS['color1'];
$color1 =$_SESSION['color1'];
echo "&color1=$color1";

En pagina_3 tomo la variable color1 de pagina_2 que si no entiendo mal se trata de la variable de session color1
osea ¿yo podria tomar esta variable en cualquier otra pagina que tenga la sesion activa? con solo colocar esto

$_SESSION['color1'];

si es asi porque es que no me funciona?
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #4 (permalink)  
Antiguo 21/07/2005, 08:02
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 13 años, 7 meses
Puntos: 0
Como te dijeron, antes deberías poner session_start(); al inicio de cada página, además, lo más recomendable es que utilizes $_POST.
__________________
Julio Hernández
  #5 (permalink)  
Antiguo 21/07/2005, 08:05
okram
Invitado
 
Mensajes: n/a
Puntos:
porque pones esta linea?
echo "&color1=$color1";

y si, jchernandez tiene razon, deberias usar $_POST en vez de $HTTP_POST_VARS

postea el codigo de pag3 tambien

salu2
  #6 (permalink)  
Antiguo 21/07/2005, 08:13
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
En todas las paginas tengo un includ en donde verifico el acceso y doy iniio a la session

En cuanto al codigo de la pagina tres es este

$prueba=$_SESSION['color1'];

Ahora una consulta estube leyendo algo de esto y no se bien a que se refiere

$GLOBALS['color1']
session_register('color1');

osea por lo poco que entiendo esto deve ser que delara a la variable color como global y luego la registra como una variable de session

¿Estoy en lo cierto? de ser asi ¿deberia colocarlo en mi codigo no?

Disculpen si ahgo consultas muy elementtales pero no manejo muy bien este tema.
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #7 (permalink)  
Antiguo 21/07/2005, 14:50
okram
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo session_register()

Hola.

Me imagino tu codigo de la siguiente manera:

pagina1.php
Código HTML:
<form action=pagina2.php method=post>
<input type=text size=20 name=color>
<input type=submit name=submit value=" Enviar ">
</form> 
pagina2.php
Código PHP:
//aqui pones tu include, donde esta la linea session_start();
//cabe decir que esta linea, donde inicias la sesion, debe ser la
//primera linea.
 
//generas la variable de sesion color, con los datos que llegaron del formulario
$_SESSION['color']=$_POST['color'];
 
//cualquier cosa, pero lo que importa es que ya registraste la variable de sesion COLOR 
y luego en pagina3, para obtener el valor de la variable:
Código PHP:
//aqui pones tu include, donde esta la linea session_start();
//cabe decir que esta linea, donde inicias la sesion, debe ser la
//primera linea.
 
//Aqui creas la variable $prueba con los datos que existen en la 
//variable de sesion $_SESSION['color'].
$prueba $_SESSION['color'];
 
//...cuaLKQUIER COSA...
 
//Aqui es donde imprimes el valor de la variable $color
echo $prueba;
 
//...mas codigo... 

Cita:
Iniciado por cmc

Ahora una consulta estube leyendo algo de esto y no se bien a que se refiere

$GLOBALS['color1']
session_register('color1');

osea por lo poco que entiendo esto deve ser que delara a la variable color como global y luego la registra como una variable de session

¿Estoy en lo cierto? de ser asi ¿deberia colocarlo en mi codigo no?
Usar la funcion session_register() es bastante opcional. Chequeate este post:
http://www.forosdelweb.com/showpost....62&postcount=7

Si desea que su script funcione independientemente de register_globals, necesita usar en su lugar la matriz $_SESSION, dado que las entradas de $_SESSION son registradas automáticamente. Si su script usa session_register(), no funcionará en entornos en donde la directiva PHP register_globals esté deshabilitada.

Prueba con los codigos que te di... y posteas tus problemas

salu2
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:05.