Foros del Web » Programando para Internet » PHP »

Register Global

Estas en el tema de Register Global en el foro de PHP en Foros del Web. Hola nuevamente, he tenido varios problemas con el tema de sessiones y creo que para lo que quiero usar en mi site, no necesariamente tenga ...
  #1 (permalink)  
Antiguo 11/09/2006, 12:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 21
Antigüedad: 17 años, 7 meses
Puntos: 0
Register Global

Hola nuevamente, he tenido varios problemas con el tema de sessiones y creo que para lo que quiero usar en mi site, no necesariamente tenga que usar sessiones. A ver si me explico: quiero mantener a lo largo de la estadia del cliente en el site una identificacion unica (por ej: el numero de carnet del cliente). Tengo claro que con las sessiones lo puedo hacer, pero he estado ojeando el tema de la directiva Register_Global y no estoy seguro si la teoria la entendi correctamente:

1.- Si configuro la directiva Register Global a "on" en el archivo php.ini, ¿quiere decir que cualquier variable que sea declarada dentro de un script php puede ser vista en cualquier otro script en cualquier otra pagina dentro del site...?. Por que si esto es asi, no tendria que utilizar las sessiones y lo que haria seria algo como esto:

pagina 1:
<?php
$carnet="valor";
?>

pagina 2:
<?php
echo "el valor es: " . $carnet;
?>

Este codigo lo probe y no resulto nada..... es por eso que necesito entender bien el tema de Register Global.

Cualquier ayuda seria formidable, y nuevamente gracias de antemano.
  #2 (permalink)  
Antiguo 11/09/2006, 13:00
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Quizá te faltó reniciar el servidor web.
  #3 (permalink)  
Antiguo 11/09/2006, 13:11
 
Fecha de Ingreso: septiembre-2006
Mensajes: 21
Antigüedad: 17 años, 7 meses
Puntos: 0
al cambiar register globals a "on" me tome la libertad de reiniciar los servicios (estoy trabajando con WAMP5) y nada....
  #4 (permalink)  
Antiguo 11/09/2006, 13:36
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 8 meses
Puntos: 0
Tienes que usar session_start() antes de usar variables de sesion. Y, con register_globals a on, para registrar variables en la sesión debes usar session_register("nombreVariable").

Por ejemplo:

// pagina 1
session_start();
$carnet = "...";
session_register("carnet");

// pagina 2
session_start();
echo $carnet;

Aunque este modo e trabajar con sesiones se considera obsoleto por temas de seguridad. Sería conveniente que trabajaras con register_globals=off. Con esta directiva desactivada podrías hacer lo mismo así:

// pagina 1
session_start();
$_SESSION["carnet"] = "...";

// pagina 2
session_start();
echo $_SESSION["carnet"];

El vector $_SESSION se usa para contener variables de sesion como índices asociativos. De este modo estás seguro de que dichas variables son realmente de sesion y no vienen de otras fuentes tales como variables de URL, de formulario, etc, ... lo cual puede conllevar serios problemas de seguridad. Busca sobre register_globals en google y verás buenas explicaciones y ejemplos sobre lo peligroso de su uso a on.
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 22:29.