Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/09/2002, 08:56
Avatar de Webstudio
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 :

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

Y luego para recuperarlas...

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

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

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 "nuevo" Array para que vean la diferencia :

<?
$_SESSION["id"]=$row ["cod_cli"];
$_SESSION["nom"]=$row ["nombre"];
?>
y
<?
include ("../includes/conex.php");
$link=conectarse();

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

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...