Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2009, 05:07
Avatar de PacoRuiz
PacoRuiz
 
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
variables globales

No sé si es que no me entero del tema de las variables globales o es que sí me entero pero me parece raro.

He visto este código en un tutoria:

<?php
$a = 1;
$b = 2;

function Sum()
{
global $a, $b;

$b = $a + $b;
}

Sum();
echo $b;
?>

<?php
$a = 1;
$b = 2;

function Sum()
{
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}

Sum();
echo $b;
?>

Lo entiendo pero me parece muy raro, lo que me parece raro es que en primer lugar se defina una variable como local, y luego en otro lado se defina la misma variable como global y se acceda al valor que tenía la local.

¿Qué pasa entonces si se define en dos sitios dos locales con el mismo nombre y se intenta acceder a la variable de ese nombre como global? ¿No puedo definir una variable como global desde primera hora y acceder desde cualquier sitio?

La cuestión es que yo en su época (ya soy algo viejecillo) lo que aprendí fue C, y teniendo en mente el C los ejemplos anteriores son cuando menos extraños.

Yo lo que quiero hacer por ahora es el típico sitio web con contraseña evitando al listillo que accede a la página restringida porque conoce la URL, y usar una global para tener claro que el usuario se logeó como está mandado.