Foros del Web » Programando para Internet » PHP »

no me envia el valor de la variable de sesion

Estas en el tema de no me envia el valor de la variable de sesion en el foro de PHP en Foros del Web. en la 1era pag tengo: session_register('id'); session_register('nom'); $id=$row ["cod_cli"]; $nom=$row ["nombre"]; en la 2da (pag donde llamo la variable) pag tengo: <?php include ("../includes/conex.php"); $link=conectarse(); ...
  #1 (permalink)  
Antiguo 11/09/2002, 15:06
 
Fecha de Ingreso: julio-2002
Mensajes: 13
Antigüedad: 21 años, 8 meses
Puntos: 0
no me envia el valor de la variable de sesion

en la 1era pag tengo:


session_register('id');
session_register('nom');
$id=$row ["cod_cli"];
$nom=$row ["nombre"];


en la 2da (pag donde llamo la variable) pag tengo:

<?php

include ("../includes/conex.php");
$link=conectarse();
session_start();

$result=mysql_query("select * from clientesr where cod_cli=$id",$link);
?>

-------
donde $id deberia ser el valor de la variable, cierto?

pero no arroja nada.
$id lo asume como vacio...

por favor ayuda.

Gracias
  #2 (permalink)  
Antiguo 11/09/2002, 15:16
 
Fecha de Ingreso: abril-2002
Ubicación: Querétaro
Mensajes: 94
Antigüedad: 22 años
Puntos: 0
Re: no me envia el valor de la variable de sesion

Pues tal vez si en la segunda page donde quieres que despliegue los valores pones en lugar de "session_star();" "session_register('variable');" de nuevo

espero que te jale

<center><font color="#0000ff" face="System">Tu destino es del color que te lo pintes[/CODE]</center><center><img src="http://www.ascware.com.mx/chino/firma.jpg"></center><font color="#ff0000" face="Lucida Handwriting">Luis Alonso Sánchez[/CODE]
  #3 (permalink)  
Antiguo 11/09/2002, 16:23
 
Fecha de Ingreso: julio-2002
Mensajes: 13
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: no me envia el valor de la variable de sesion

no, pongo session_start()
creo que el codigo esta bien o hay algo que no me he dado cuenta o que tal vez no se.
  #4 (permalink)  
Antiguo 11/09/2002, 16:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: no me envia el valor de la variable de sesion

Recuerda que siempreeeeeeeee que usesssss sessiones debes de Inicializarlas. Como bien sabras .. se inicializan con la instruccion:
session_start()

pagina que registras ..
&lt;?
session_start(); // Esto es insprencidible
// tu logica para obtener el campo en cuestion ..
$id=$row [&quot;cod_cli&quot;];
$nom=$row [&quot;nombre&quot;];
session_register('id'); //manias. Primero defino variable luego registro ..
session_register('nom');
?&gt;

Paginas que quieres obtener tus variables de session:

&lt;?
session_start(); // Inicializar variables de session.
$id=$HTTP_SESSION_VARS['id']; // aqui tienes tu variable de sesion id .. Es recomendable usar el array asociado de sesiones ..
//el resto de tu logica ..
..
..
?&gt;

Y asi con todas las paginas ..

Un saludo,


  #5 (permalink)  
Antiguo 11/09/2002, 17:28
 
Fecha de Ingreso: julio-2002
Mensajes: 13
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: no me envia el valor de la variable de sesion

cluster lo hice tal cual tu me escribiste y no funciona...

please maestr@ alguna otra solucion


Gracias
  #6 (permalink)  
Antiguo 11/09/2002, 19:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: no me envia el valor de la variable de sesion

La forma de trabajar con sessiones es basicamente la que puse en el ejemplo.

Ahora habrá que ver si el problema es de que No regisrtra las variables en la session .. o no crea ni tan siquiera la session ...

Otro detalle MUY importante es que HOsting estas usando .. ahora que recuerdo en Hosting gratuitos no suelen permitir el uso de sessiones ocasionando errores de lo mas variopinto .. desde un error 404 en iespana .. hasta un &quot;simplemente no hace nada&quot; en otros ...

Detallanos si estas usando un hosting, (gratuito o no) ... o tu propio PC como servidor ...

Un saludo,
  #7 (permalink)  
Antiguo 12/09/2002, 08:56
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: no me envia el valor de la variable de sesion

A ver si puedo dar una mano en este POST.
Básicamente lo que estaba haciendo el muchacho estaba bien, ya que session_register() conlleva implícito un session_start(); por lo que no es necesario ponerlo en el script que registra las variables.
Lo que hay que tener en cuenta, es que en algunas versiones de PHP ( las cuales no recuerdo ahora mismo ), luego de cambiar el valor de una variable de sessión, es necesario volverla a registrar para que conserve su valor, por lo que el script del muchacho debería ser :

&lt;?
$id=$row [&quot;cod_cli&quot;];
$nom=$row [&quot;nombre&quot;];
session_register('id');
session_register('nom');
?&gt;

Y luego para recuperarlas...

&lt;?
include (&quot;../includes/conex.php&quot;);
$link=conectarse();
session_start();

$id = $HTTP_SESSION_VARS[&quot;id&quot;];
$result=mysql_query(&quot;select * from clientesr where cod_cli=$id&quot;,$link);
?&gt;

RECUERDEN !!! que es una MUY BUENA práctica de programación , llamar a las variables como PHP espera que se llamen, porque si en tu php.ini tienes el Register_Globals = OFF, no podrás tan solo utilizar el nombre de la variable.

Ahora, y tomando un nuevo tema. Hoy en día PHP ofrece mejores métodos para utilizar variables de sesión, que creo que la mayoría de los usuarios, por estar aprendiendo de viejos tutoriales, no están aprovechando. Y a esto me refiero al uso del Array Asociativo $_SESSION, que está disponible desde la versión 4.1.0 del PHP. Les reescribiré los SCripts anteriores utilizando este &quot;nuevo&quot; Array para que vean la diferencia :

&lt;?
$_SESSION[&quot;id&quot;]=$row [&quot;cod_cli&quot;];
$_SESSION[&quot;nom&quot;]=$row [&quot;nombre&quot;];
?&gt;
y
&lt;?
include (&quot;../includes/conex.php&quot;);
$link=conectarse();

$result=mysql_query(&quot;select * from clientesr where cod_cli=&quot;.$_SESSION[&quot;id&quot;],$link);
?&gt;

Ventajas ? Claro, $_SESSION guarda todas las variables registradas de una sessión, a esto me refiero, a las variables registradas con session_register_() o ( lo que es mucho mejor ) las variables que uno directamente le asigna al array...
  #8 (permalink)  
Antiguo 12/09/2002, 08:58
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: no me envia el valor de la variable de sesion

Entonces, es exactamente lo mismo hacer :

&lt;?
$id = &quot;hola&quot;;
session_register(&quot;id&quot;);
?&gt;
que hacer :
&lt;?
$_SESSION[&quot;id&quot;] = &quot;hola&quot;;
?&gt;

Otra de las ventajas de este Array, es que es Super Global , o sea, es accesible desde cualquier función o ámbito que nos encontremos (puede ser dentro de un objeto también).
Bueno, espero que esta explicación no haya aburrido a muchos, es tan solo para que nos comencemos a acostumbrar a las &quot;buenas prácticas&quot; en cuánto a programación se refiere.

Saludos.
  #9 (permalink)  
Antiguo 12/09/2002, 10:48
 
Fecha de Ingreso: enero-2002
Mensajes: 132
Antigüedad: 22 años, 3 meses
Puntos: 1
Re: no me envia el valor de la variable de sesion

Hola,

Ponías lo siguiente ...

en la 2da (pag donde llamo la variable) pag tengo:

&lt;?php

include (&quot;../includes/conex.php&quot;);
$link=conectarse();
session_start();


Pon primero SIEMPRE session_start(); lo primero de todo.
Además comprueba dos cosas, que no tengas ninguna línea de espacio antes del &lt;? ,
y por último asegurate de que no tienes ningún problema con que el servidor permita usar cookies de servidor.




Un saludo, esperando ser de ayuda...
COMUN

<a href='ir.asp?http://www.califato.com' target='_blank'>http://www.califato.com...</a>
<a href='ir.asp?http://www.califato.net' target='_blank'>http://www.califato.net...</a>

<center>
<img src="http://membres.lycos.fr/dipro/new/logo.gif" border=0 width="100" height="30">
<a href='ir.asp?http://dipro.califato.com' target='_blank'>http://dipro.califato.com...</a>
</
  #10 (permalink)  
Antiguo 12/09/2002, 19:03
 
Fecha de Ingreso: julio-2002
Mensajes: 13
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: no me envia el valor de la variable de sesion

muchas gracias por toda la ayuda.

ahora si, funciona ok


saludos a todos
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 03:34.