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 a tod@s. Tengo un problema con las variables de sesión. En principio, hago una variable de sesión de esta forma: <? session_start(); session_register('nombrecillo'); $nombrecillo ...
  #1 (permalink)  
Antiguo 19/03/2002, 13:29
 
Fecha de Ingreso: enero-2002
Mensajes: 87
Antigüedad: 22 años, 2 meses
Puntos: 0
problema con variables de sesión

Hola a tod@s. Tengo un problema con las variables de sesión. En principio, hago una variable de sesión de esta forma:

<?
session_start();
session_register('nombrecillo');
$nombrecillo = $nombre;
echo session_id();
echo $nombrecillo;
?>

$nombre viene de un formulario. Hasta ahora más o menos bien, pero cuando me voy a otras páginas del sitio, ¿cómo recupero las variables de sesión que he ido creando (por ej.nombrecillo)? Sin tener mucha idea, lo intento así (pero no me va, no imprime $nombrecillo):

<?
session_start();
session_register('nombrecillo');
echo $nombrecillo;
?>

Por cierto, ¿alguna página donde enterarse bien, con ejemplos, del uso de las variables de sesión?.
  #2 (permalink)  
Antiguo 19/03/2002, 15:54
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Re: problema con variables de sesión

session_start();
echo $nombrecillo;


Esa debe funcionar...


Y la pagina... <a href='ir.asp?http://www.php.net/manual/es/ref.session.php' target='_blank'>http://www.php.net/manual/es/ref.session...</a>

Saludos ;)

<tr>
<td bgcolor="#339933"> <font face="Verdana, Arial" size="1" color="#FFFFFF">>>
[/CODE]</td> <td align="right" bgcolor="#666666">
  #3 (permalink)  
Antiguo 19/03/2002, 17:56
 
Fecha de Ingreso: enero-2002
Mensajes: 87
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: problema con variables de sesión

Hola!. Sigue sin salirme nada en pantalla. No sé si será por la configuración del archivo php.ini. Si alguien puede echarle un vistazo para ver qué falla:

[Session]
session.save_handler = files

session.save_path = /tmp

session.use_cookies = 1


; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 1

session.cookie_lifetime = 0

session.cookie_path = /

session.cookie_domain =

session.serialize_handler = php

session.gc_probability = 1

session.gc_maxlifetime = 1440

session.referer_check =

session.entropy_length = 0

session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

session.cache_limiter = nocache

session.cache_expire = 180

session.use_trans_sid = 1

url_rewriter.tags = &quot;a=href,area=href,frame=src,input=src,form=fa keentry&quot;
  #4 (permalink)  
Antiguo 19/03/2002, 18:13
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: problema con variables de sesión

el problema es este selu

la funcion session_register guarda la informacion en la sesion al momento de invocarla, pero no los cambios posteriores que se realicen sobre esa variable, entonces, tu script tendria que hacer algo asi

&lt;?
session_start();
$nombrecillo = $nombre;
session_register(&quot;nombrecillo&quot;);
?&gt;

ahi si guardaria el valor que $nombrecillo tomo, y este quedaria almacenado en la sesion para usarlo en otras paginas, ten en cuenta que cada vez que cambies el valor de la variable $nombrecillo, deberas volver a registrarla, y cuando hagas un unset tambien deberas desregistrarla (session_unregister), porque sino, al cargar otro script, la variable se creara nuevamente en el ambiente de ejecución.

saludos

  #5 (permalink)  
Antiguo 19/03/2002, 18:51
 
Fecha de Ingreso: enero-2002
Mensajes: 87
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: problema con variables de sesión

Nada, gracias, pero el tema sigue igual. Vamos paso a paso:
En la página donde se crea la variable pongo:

&lt;?
session_start();
$nombrecillo = $nombre;
session_register('nombrecillo');
echo $nombrecillo;
?&gt;&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;sesion3.php&quot;&gt;link&lt;/a&gt;

En este caso, si sale $nombrecillo, y en la página sesion3.php:

&lt;?
session_start();
echo $nombrecillo;
?&gt;


Y no me sale nada en pantalla. De todas formas en el php.ini tengo la duda de save_path, no sé si estará bien, utilizo windows con pws. Nada más, un saludo.
  #6 (permalink)  
Antiguo 19/03/2002, 21:43
Avatar de AngelRoyo  
Fecha de Ingreso: marzo-2002
Ubicación: Santiago de Chile
Mensajes: 207
Antigüedad: 22 años
Puntos: 5
Re: problema con variables de sesión

bueno yo haria lo siguiente.
Primero en un script 1:
&lt;?
phpinfo();
?&gt;
Lo ejecuto y veo si tengo SESSION habilitada.
si es asi paso a lo siguiente.
Script 2:
&lt;?
session_star();
session_register('var');
$var=&quot;LO que Sea..&quot;
//Link a Script 3...
?&gt;
Script 3:
&lt;?
session_start();
echo $var;
?&gt;
Seguro funciona, a mi me funciono .


  #7 (permalink)  
Antiguo 20/03/2002, 08:24
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 4 meses
Puntos: 69
Re: problema con variables de sesión

Mira... no se recomienda acceder a las variables de sessión suponiendo que fueron convertidas a variables por el PHP, porque esta práctica no está bien vista y porque será dejada de usar en versiones siguientes de PHP.

Por eso, si quieres acceder a una variable de sesión, en sesion3.php, deberías hacer algo asi :

&lt;?
session_start();
$nombrecillo = $HTTP_SESSION_VARS[&quot;nombrecillo&quot;];
echo $nombrecillo;
?&gt;

eso si tu PHP es menor al 4.1.0, pero si tu PHP es superior al 4.1.0, debería ser así:

&lt;?
session_start();
$nombrecillo = $_SESSION[&quot;nombrecillo&quot;];
echo $nombrecillo;
?&gt;

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
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:35.